Всем привет.
Вот хотелось бы изменить немного отображения блока с логином и пассвордом. И подумалось: ведь есть темплейт для бокса, для комментов, для поиска, а есть ли темплейт для него? Если есть, то хотелось бы увидеть пример.
Заранее спасибо за ответ
Комментарии
Можно сделать так
1. в template.php своей темы добавляешь переопределение функции
// Например убрать дексрипшн у полей имя, пароль
$form['pass']['#description'] = '';
$form['name']['#description'] = '';
//Свое название кнопки:
$form['submit']['#value'] = 'Заходи';
return _phptemplate_callback('user_login', array('form' => $form));
}
Далее в каталоге своей темы (theme/имя_шаблона/) создаешь файл с именем user_login.php, который может содержать, например:
<?php
print_r(drupal_render($form['name']));
print_r(drupal_render($form['pass']));
print_r(drupal_render($form));
?>
</div>
Примечание: вызов drupal_render() - для drupal5, для 4х - form_render()
или полностью переписанный (дополненный) код функции theme_user_login
И наконец в style.css можно определить:
display: inline; // для вывода всех элементов формы в одну строку
}
Все вышеописанное найдено на drupal.org. Если там покопаться - найдется всё! Но времени отнимает оч. много
Успехов...
Еще дополнение:
Есть маленький скрипт, который выдает полный список функций theme_*():
print '<ol>';
$functions = get_defined_functions();
foreach($functions['user'] as $function) {
if(substr($function,0,6)== 'theme_')
print "<li>$function</li>";
}
print '</ol>';
?>
И которые можно переопределить вышеописанным образом. Правда есть и другие пути...
На самом деле чем больше внедряюсь в код drupal тем более он мне нравится. Сделать можно все что угодно. Были бы желание и знания php.
Первого у меня не занимать - вот со вторым промашка вышла
Мой сайт на drupal - www.travelweekly.ru
скажите пожалуйста где расположен файл template.php ??
использую drupal 4.7. Или этот файл создается? Если да то где он должен быть?
Спасибо огромное!
Только маленькая поправочка, файл темплейта должен называться не user_login.php, а user_login.tpl.php. (исправлено)
может таки user_login.tpl.php
--
С уважением, Аркадич
Сорри за очепятку )))) Безусловно user_login.tpl.php (по соглашению имен шаблонов движка phptemplate)
Аркадич прав!
Мой сайт на drupal - www.travelweekly.ru
Всем огромное спасибо, Вы мне очень помогли
Ну да, таки tpl Сорри..
Если не так кардинально, то можно использовать файл style.css в папке темы.
Например «изменить немного отображения блока с логином и пассвордом» можно добавив строчки:
font: 170% "Times";
color: green;
font-weight: bold;
text-decoration: blink;
background-color: red;
line-height: 130%;
padding: 0 0 .2em 1.5em;
border: 1em solid black;
border-top: 1em solid yellow;
border-bottom: 1em solid yellow;
}
одно время очень искал как можно расположить в одну строку поля формы
вот он, ответ). Спасибо!