Создание формы регистрации D7

Главные вкладки

Аватар пользователя FirstALEX FirstALEX 15 сентября 2011 в 8:23

Здравствуйте.
Изучаю Drupal чуть более недели, собственно поэтому я здесь)
Передо мной стоит задача создать форму регистрации отличную от стандартной (не только полями, но и оформлением).
Поля, которые должны быть: First name, Last name, E-mail, Password, Retype password.

Вопрос: каким путем лучше пойти, чтобы сделать свою форму регистрации?..

Комментарии

Аватар пользователя FirstALEX FirstALEX 15 сентября 2011 в 9:36

Нашел один из путей решения: создание модуля и использование в нем hook_form_FORM_ID_alter().
В D7 id формы регистрации: user_register_form.
Поэтому содержание файла .module должно быть следующим (MODULENAME - имя модуля):

<?php
 
// $Id$
 
 /**
 * Implements hook_form_FORM_ID_alter().
 */

function MODULENAME_form_user_register_form_alter(&$form, &$form_state) {
    
//здесь можем менять форму
}?>

А чтобы просмотреть содержимое $form можно использовать:

<?php
drupal_set_message
('</p><pre>' check_plain(var_export($formTRUE)) . '</pre><p>');
?>
Аватар пользователя Dmitriy.ua Dmitriy.ua 15 сентября 2011 в 10:24

Примерно так темизируется форма:

<?php
function realty_theme() {
  return array(
  
'user_profile_form' => array(
    
'render element' => 'form',
  ),
);
}
 
function 
realty_user_profile_form($variables) {
    
//print_x($variables['form']);
        
$form $variables['form'];
        
hide($form['locale']);
    
hide($form['contact']);
    
$output drupal_render_children($form);
  return 
$output;
}

?>
Аватар пользователя denserdv denserdv 11 января 2014 в 12:35

Подскажите пожалуйста как сделать свой форму регистрации. Я особо не программист..
в интернете полно примеров темизации формы авторизации,а регистрации не нашел.

Мне нужно оставить только ввод емаила в форме регистрации, а поле логин приравнивать к емаилу.
И еще мне эту форму регистрации надо на главной странице вывесить.

Но не нашел названия этих полей и куда передавать значения... Может конечно модуль есть, который задачу решит...

вот пример для формы авторизации. По аналогии подскажите как регистрацию сделать

<form accept-charset="UTF-8" id="user-login-form" method="post" action="/node?destination=node">
<input class="field" type="text" name="name" id="edit-name" value="Ваш Логин">
Пароль: <input class="field" type="password" name="pass" id="edit-pass">
<input type="hidden" value="" name="form_build_id">
<input type="hidden" value="user_login_block" name="form_id">
<input type="submit" class="submit" value="Войти" name="op" id="edit-submit" OnClick="SetCookie()">
<a href="/user/register">Регистрация</a> / <a href="/user/password">Забыли пароль?</a>
</form>

- очень простой код для темизации окна авторизации. Вот типа такого для регистрации можно?