[РЕШЕНО]Переопределение формы входа

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

Аватар пользователя witch witch 22 сентября 2011 в 22:20

Всем здрасти!
Помогите плиз плиз плиз!
Задача:
есть на странице форма для входа на сайт. Мне нужно чтобы после нажатия на кнопочку, не происходил переход на user/login, а уходили на главную страницу.
Для этого делаю так:
1. в phptemplate пишу:
function mytheme_theme(
return array(
'user_login_block' => array(
'arguments' => array('form' => NULL),
),
))

2. там же:
function mytheme_user_login_block($form) {
$output = '';
unset ($form['#action']);
$form['#action'] = "/";
$output .= drupal_render($form);
return $output;
}

Не работает..
При чем вообще не работает как будто, т к когда я вставляю код $form['submit']['#value'] = 'абракадабра'; в mytheme_user_login_block($form), то даже это не отображается..

Очень жду ваших советов! Спасибо Smile

Комментарии

Аватар пользователя witch witch 22 сентября 2011 в 22:28

Айдар wrote:
Кодом это все принципиально делать? Если нет, то Rules, насколько помню решает задачу.

Не принципиально, просто пол дня потратила на это Smile За модуль спасибо, посмотрю Smile

Аватар пользователя witch witch 22 сентября 2011 в 22:31

Нее, такое решение не хочется, это просто редирект получается. Редирект я могу и так прописать в индексе.

Аватар пользователя witch witch 23 сентября 2011 в 11:52

Решила модулем.
Напишу, вдруг кому понадобится:
function my_module_form_alter(&$form, $form_state, $form_id) {
switch ($form_id)
{
case 'user_login_block':
$form['#submit'] = array('my_module_user_login_block_submit');
break;
}
}

function my_module_user_login_block_submit($form, &$form_state) {
global $user;
if ($user->uid) {
$form_state['redirect'] = 'index';
return;
}
}

Аватар пользователя Айдар Айдар 23 сентября 2011 в 12:07

Давайте сначала - у Вас на сайте после того как пользователь в блоке входа на любой странице введет логин и пароль и жмакнет "войти", переход шел на страницу входа?