Приветствую! Не получается переопределить user_login_block в mytheme/template.php. Пробовал двумя способами:
1) Через темплейт
// template.php
function mytheme_theme() {
return array(
'user_login_block' => array(
'template' => 'templates/user-login',
'arguments' => array('form' => NULL),
),
);
}
function mytheme_preprocess_user_login_block(&$variables) {
/* var_dump($variables) в этом месте говорит, что $variables cocтоит из 2-х элементов с именами "" и "theme_hook_suggestions", элемента с именем "form" нет. */
$variables['rendered'] = drupal_render($variables['form']);
}
// templates/user-login.tpl.php
<?php
print $rendered;
?>
2) Через функцию
// template.php
function mytheme_theme() {
return array(
'user_login_block' => array(
'arguments' => array('form' => NULL),
),
);
}
function mytheme_user_login_block($form) {
$output .= drupal_render($form);
return $output;
}
Во последнем случае apache2 виснет, потому что mytheme_user_login_block() зацикливается из-за вызова drupal_render().
В первом случае ничего не работает, потому что элемента $variables['form'] не существует. Им должен быть $variables["], но если я использую его, то повторяется сценарий из пункта 2).
Подскажите, пожалуйста, как мне правильно темизировать user_login_form.