denn.kulikoff: Блог

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

Автоматический вход пользователя сразу после регистрации

9 апреля 2010 в 11:42

Здравствуйте!

Необходимо сделать так, чтобы сразу после заполнения регистрационной формы и нажатия кнопки "зарегистрироваться", пользователь становился авторизованным (конечно при условии что его пароль удовлетворяет и имя пользователя еще не занято).

Форма регистрации выводится на странице моего модуля, я ее вызываю через drupal_get_form('user_register');

Целый час гуглил, нигде нет даже намека на решение, или я неправильно гуглил?

Использование hook_form_FORM_ID_alter

26 марта 2010 в 15:25

Здравствуйте!

Понадобилось мне изменить форму в модуле contact. Поменять порядок вывода полей и исключить поле "Тема".
Можно его не рендерить но хотябы сделать не обязательныи.

Вот что написал в template.php

<?php
function ztachel_theme() {
    return array(
        
'contact_mail_page' => array(
            
'arguments' => array('form' => NULL),
            ),
    );
}

function 

contact_form_contact_mail_page_alter(&$form, &$form_state) {
    
//$form['subject']['#required'] = 0;
    
    
    
$form['subject'] = array(
        
'#required' => FALSE
      
);
    
//$form['subject'] = '';
}

//contact_form_contact_mail_page_alter(&$form, &$form_state);    

function ztachel_contact_mail_page($form) {
$output '';

//echo '<xmp>';
//print_r($form);
//echo '</xmp>';

$output .= drupal_render($form['cid']);
$output .= drupal_render($form['message']);
$output .= drupal_render($form['name']);
$output .= drupal_render($form['mail']);
$output .= drupal_render($form['submit']);
$output .= drupal_render($form['form_build_id']);
$output .= drupal_render($form['form_token']);
$output .= drupal_render($form['form_id']);

return 

$output;
}
?>

В итоге, этот прием работает на странице, в которой я вывожу блок, в котором вызываю эту форму через php.

Но насамой странице /contact так и не отправляются сообщения. Пишет, что обязательное поле "Тема" не заполнено.

Что делать?