- Прежде всего, создайте пользовательский модуль .
Во-вторых, вам нужно добавить поля адреса электронной почты и имени.Вы можете сделать это, либо добавив два поля с помощью hook_form_alter в свой пользовательский модуль, либо включив и используя модуль / поле «Короткий ответ», входящий в ваш модуль Quiz, а затем настроив стиль поля в соответствии с вашимпотребности (потому что это будет выглядеть как вопрос).Лично я бы порекомендовал добавить их с помощью hook_form_alter.Кроме того, я предлагаю вам узнать о хуках в Drupal, это облегчит вашу жизнь.
-Вы должны проверить и получить значения для двух полей.Вы также можете использовать тот же хук form_alter для этого. Добавьте функцию проверки и отправки к проверке и стеку отправки вашей формы Викторины ($form['#validate'][] = 'your_validate_function';
и $form['#submit'][] = 'your_submit_function';
).Вы можете проверить свою электронную почту с помощью функции Drupal valid_email_address и, конечно, вы можете проверить другие поля и вызвать Drupal form_set_error , чтобы уведомлять пользователей о любых ошибках ввода.
-Для отправки вашего электронного письма после отправки теста, вызовите drupal_mail Drupal в функции отправки, которая в основном принимает все параметры, необходимые для отправки электронного письма.Вам нужно будет создать hook_mail в вашем пользовательском модуле.Посмотрите пример того, как это сделать здесь .Вы можете извлечь значения формы (имя и адрес электронной почты) из локального массива $ form_state ['values'], передать их как $ params в вашу функцию drupal_mail и добавить их в тело вашего письма в вашей функции hook_mail.И это все: D
- В качестве альтернативы вы можете отправить электронное письмо, создав действие и назначив действие, которое будет выполнено после того, как пользователь завершит этот тест.Модуль Quiz имеет поддержку для этого.Вот пример как написать действие .