Нужно сделать так, чтобы запрос на ввод адреса электронной почты остался, но был не обязательным.
потрудись расписать алгоритм процедуры регистрации нового участника,
включая в описание алгоритмы идентификации, проверки валидности и защиту учетной записи.
если идея будет разумна, то, скорее всего уже существует ее реализация
Решил так: через свой модуль полю e-mail задал значение по умолчанию (nomail@mydomain.com) и запретил доступ к нему (перестало отображаться). Появилась проблема с проверкой на уникальность e-mail. Решил модулем https://drupal.org/project/sharedemail.
Кусок кода:
<?php function mymodule_form_alter(&$form, $form_state) { //dpm ($form); //dpm ($form_state); if ($form['#id'] == 'user-register-form') { $form['account']['mail']['#required'] = FALSE; $form['account']['mail']['#access'] = FALSE; if ($form['account']['mail']['#default_value']=='') $form['account']['mail']['#default_value'] = 'nomail@mydomain.com'; }
if ($form['#id'] == 'user-profile-form') { $form['account']['mail']['#access'] = FALSE; if ($form['account']['mail']['#default_value']=='') $form['account']['mail']['#default_value'] = 'nomail@mydomain.com'; } } ?>
Комментарии
потрудись расписать алгоритм процедуры регистрации нового участника,
включая в описание алгоритмы идентификации, проверки валидности и защиту учетной записи.
если идея будет разумна, то, скорее всего уже существует ее реализация
или копай openid etc.
при регистрации необходимо указать номер телефона (он же имя пользователя), пароль и код подтверждения, который придёт по смс
своим модулем, используя [module=smsframework]
так-же можно посмотреть, как человек делал для d6
Решил так: через свой модуль полю e-mail задал значение по умолчанию (nomail@mydomain.com) и запретил доступ к нему (перестало отображаться). Появилась проблема с проверкой на уникальность e-mail. Решил модулем https://drupal.org/project/sharedemail.
Кусок кода:
<?php
function mymodule_form_alter(&$form, $form_state) {
//dpm ($form);
//dpm ($form_state);
if ($form['#id'] == 'user-register-form') {
$form['account']['mail']['#required'] = FALSE;
$form['account']['mail']['#access'] = FALSE;
if ($form['account']['mail']['#default_value']=='') $form['account']['mail']['#default_value'] = 'nomail@mydomain.com';
}
if ($form['#id'] == 'user-profile-form') {
$form['account']['mail']['#access'] = FALSE;
if ($form['account']['mail']['#default_value']=='') $form['account']['mail']['#default_value'] = 'nomail@mydomain.com';
}
}
?>
постановка
результат
решил, что сейчас поле вообще не нужно. если понадобится, можно сделать ещё одно поле для ввода почты