У меня есть сайт, на котором некоторые пользователи будут зарегистрированы нашими сотрудниками и не будут иметь связанных с ними писем. Я хотел бы сохранить поле электронной почты в обязательном поле, поэтому я разработал генератор случайных почтовых сообщений.Регистрация пользователя в Drupal
function generateRandomEmail() {
$email = 'noemail'. rand(0,1000000) . '@noemail.com';
return $email;
}
Итак, я прикрепил, что в регистрационной форме пользователя изменить, и она работала хорошо, эффективно генерируя электронную почту для этих пользователей.
Однако в процессе все остальные поля, связанные с разделом главной учетной записи (пароль, имя пользователя, уведомление и т. Д.), Исчезли. Мой вопрос: есть ли быстрый способ заполнить остальные поля, которые я не хочу изменять? Я использовал drupal_render ($ form); в tpl.php, но он не работал в форме alter.
Вот где я изменяя форму:
function accountselect_user($op, &$edit, &$account, $category) {
if ($op == 'register') {
$fields['account']['mail'] = array(
'#type' => 'textfield',
'#default_value' => generateRandomEmail(),
);
Не ответ на ваш вопрос, но знаете ли вы, что «noemail.com» - это существующий домен, который будет получать почту, отправляемую на ваши «случайные» адреса электронной почты? Вы должны использовать домен, которому вы владеете для этого, или, по крайней мере, официально зарезервированный «example.com», чтобы предотвратить отправку писем невольным участникам! –