Регистрация анонимного пользователя при отправке формы организации с правилами
Я создал форму сущности под названием "Запрос заказа". В этой форме есть поля, в которые пользователь может ввести свое имя, фамилию, адрес электронной почты и содержимое заказа. Я хотел бы зарегистрировать этого анонимного пользователя, когда он отправит эту форму. У меня это работает, настроено с помощью модуля регистрации электронной почты и правил использования этих полей для создания нового пользователя.
Однако проблема заключается в следующем: Как анонимным, так и зарегистрированным пользователям (с ролью: клиент) необходимо чтобы иметь возможность использовать форму. Мне нужно предотвратить ошибку, если уже есть учетная запись, созданная с использованием адреса электронной почты, указанного в форме. Я хотел бы проверить это и не запускать правило для создания новой учетной записи. Как я могу создать это условие в своем правиле? Надеюсь, это ясно. Спасибо
1 answers
Я думал, что модуль проверки полей должен был это сделать, но я не смог проверить его по полю почты пользователя. Может быть, вы могли бы попробовать это, и вам повезет больше.
Другой вариант, который определенно работает и не требует кодирования, - это использовать модуль "Просмотр массовых операций" (VBO) и использовать условия правил для проверки количества результатов для этого адреса электронной почты.
А. Просмотр проверки почты VBO
- Создайте новую страницу просмотра для отображения пользователи.
- Добавьте поле "Массовые операции: Пользователь" (изменения не требуются).
- Добавьте контекстный фильтр "Пользователь: Электронная почта" и укажите значение по умолчанию "Исходное значение из Url-адреса, компонент пути 2".
- Протестируйте предварительный просмотр с использованием действительного адреса электронной почты и убедитесь, что отображается один результат, прежде чем продолжить.
Б. Новое условие правила в вашем основном правиле для сохранения формы сущности.
- "Проверьте количество результатов, возвращенных представлением VBO"
- Выберите вид и страницу отображение, созданное вами выше.
- Отправьте текстовое поле из формы сущности в качестве аргумента. (Это будет компонент пути 2 в представлении VBO выше)
- Установите минимальное значение равным 1.
- Отмените условие.
Это приведет к срабатыванию правила, если представление VBO вернет нулевые результаты, т.Е.. нет электронной почты.
С. Создайте новое правило, чтобы показать ошибку, если почта существует.
То же условие, что и выше.
Я действительно не знаю, почему это работает, но в любом случае. Добавьте И над условием, отмените его и сделайте отступ над условием, которое также отменено. (переместите его вправо, как будто это ребенок). Это будет выглядеть так
Сущность имеет поле
НЕТ И
НЕ проверять количество результатов, возвращаемых представлением VBO
- Действие: Отобразите сообщение сайта и сообщите пользователю, что электронное письмо уже используется.
Это выглядит немного запутанным, но должно занять всего несколько минут, чтобы начать работать. Удачи!