
Как изменить вид блока входа на сайт в Drupal 5.
Пишем свой модуль mymodule.
Для изменения верстки формы определяем в модуле функцию theme_user_login_block($form).
Например:
<?php
function theme_user_login_block($form){
//print_r($form);
$output = '<div class="grey_pl1"><div class="grey_pl1a_3"><div class="grey_pl1b"><h3>' . t('Login to User Account') . '</h3>';
$output .= '<div class="login"><div class="username">' . drupal_render($form['name']) . '</div>';
$output .= '<div class="passwd">' . drupal_render($form['pass']) . '</div>';
$output .= '<div class="buttons">';
$output .= drupal_render($form['submit']) . '<input class="but2" type="submit" value="' . t('Clear') . '"/></div></div>';
$output .= l(t('Sign In'), 'user/register', array('title' => t('Create a new user account.'), 'class' => 'register_now'));
$output .= l(t('Forgot Password?'), 'user/password', array('title' => t('Request new password via e-mail.'), 'class' => 'user_password'));
$output .= l(t('Register'), 'user/register', array('title' => t('Create a new user account.'), 'class' => 'user_register'));
$output .= drupal_render($form);
$output .= '</div></div></div>';
return $output;
}
?>Для того, чтобы убрать или изменить в форме какие-либо элементы, добавляем функцию
mymodule_form_alter($form_id, &$form).
Например:
<?php
function mymodule_form_alter($form_id, &$form) {
global $form_values;
switch ($form_id) {
case 'user_login_block':
unset($form['links']);
//unset($form['name']['#title']);
//unset($form['pass']['#title']);
//$form['#attributes'] = array('class' => 'login');
break;
}
}
?>HowTo: Create a custom user login bar
Advanced custom login form
Customising the login form
Отправить новый комментарий