Темизация формы входа Drupal 7

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

Аватар пользователя vvv vvv 23 января 2011 в 16:32

Доброго времени суток!
Нужно темизировать форму входа на сайт в друпале7. А именно хочу убрать блок со ссылками "Create new account" и "Request new password". На сколько понимаю нужно переопределить функцию user_login_block, потому что форма рисуется именно там($form['links']). Но как это сделать не знаю))). Подскажите как мне решить эту задачу. Заранее спасибо.

Комментарии

Аватар пользователя vvv vvv 23 января 2011 в 17:32

Пробовал. В preprocess_block передается $variables с уже сформированой $variables['content'] в которой html с этими ссылками. Во всяком случае у меня так не получилось. Так что нужно что-то другое.

Аватар пользователя Ch Ch 23 января 2011 в 18:02

я так делал, правда блок не использовал, а просто добавлял форму входа в шаблон

    $login_form = drupal_get_form('user_login_block');
    $login_form['#attributes']['class'] = 'login-form';
    $login_form['#theme_wrappers'] = array('login_form');
    $login_form['name']['#theme_wrappers'] = array('login_form_element');
    $login_form['name']['#attributes'] = array ('id' => 'login', 'class' => array('txt'));
    $login_form['pass']['#theme_wrappers'] = array('login_form_element');
    $login_form['pass']['#attributes'] = array ('id' => 'password', 'class' => array('txt'));
    $login_form['actions']['#theme_wrappers'] = array();
    $login_form['actions']['submit']['#value'] = '';
    $login_form['actions']['#weight'] = -555;
    unset($login_form['links']);
    $output = render($login_form);
Аватар пользователя vadim_ vadim_ 23 января 2011 в 22:17

vvv wrote:
хочу убрать блок со ссылками "Create new account"

Configuration » People » Account settings » Who can register accounts? » Administrators only

vvv wrote:
и "Request new password"

Простой модуль из двух файлов:

.info:

; $Id$
name = Dummy
description = Dummy
version = 1.0
core = 7.x

.module
<?php
// $Id$

/**
* Implements hook_form_FORM_ID_alter().
*/
function dummy_form_user_login_block_alter(&$form, &$form_state, $form_id) {
unset($form['links']['#markup']);
}
?>