02.10.2011 Ubercart - скрыть SKU и другие поля (модуль Ubercart Product Power Tools) | Drupal 6 26.09.2011 Пользовательские галереи и хранение файлов на сервере - Drupal 6 22.06.2011 Блок последних комментариев блога - DRUPAL 6 16.06.2011 Показывать блок в определенных типах материалов и на определенных страницах - Drupal 6 16.06.2011 Топ 10 блоггеров - Drupal 6 21.05.2011 Модуль переноса комментариев для Drupal 6 22.03.2011 Подсветка синтаксиса кода в Drupal 6 22.03.2011 Кнопки социальных сетей для Drupal
#77

Форма входа вверху сайта - Drupal 6

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

Данное решение подробно описано здесь

Однако в нем мне не понравились подписи к полям, которые в дизайн моего сайта не вписывались никаким образом, а также ссылки на регистрацию и восстановление пароля тоже были не в тему. Не устраивало и отображение информации о пользователе, но это решается с помощью CSS.


 

Пришлось скрипт немного изменить, вместо функции вызова формы входа, я нарисовал свою форму, а информацию о пользователе сделал небольшим блоком.

Следующую функцию следует поместить в файл template.php вашей темы.

  1. function theme_user_bar() {
  2. global $user; 
  3. $output = '';
  4.  
  5. if (!$user->uid) { 
  6. $output .= '<div id="user-bar">
  7. <form action="/drupal620/user" accept-charset="UTF-8" method="post" id="user-login">
  8. <input type="text" placeholder=" Логин" maxlength="60" name="name" id="edit-name" value="" tabindex="1" class="form-text required" />
  9. <input type="password" placeholder=" Пароль" name="pass" id="edit-pass" tabindex="2" class="form-text required" />
  10. <input type="hidden" name="form_id" id="edit-user-login" value="user_login" />
  11. <input type="submit" name="op" id="edit-submit" value="Войти" tabindex="3" class="form-submit" />
  12. </form></div>'; 
  13. } 
  14. else {
  15.  
  16. $output .= '<div id="user-info">';
  17.  
  18. $output .= t('<div class="text">Вы зашли как - !user</div>', array('!user' => theme('username', $user)));
  19.  
  20. $output .= theme('item_list', array(
  21. l(t('Ваш аккаунт'), 'user/'.$user->uid, array('title' => t('Редактировать аккаунт'))),
  22. l(t('Выход'), 'logout')));
  23.  
  24. $output .= '</div>';
  25.  
  26. }
  27.  
  28. return $output;
  29. }

После чего в файле page.tpl.php выводим форму в нужном нам месте следующим кодом:

  1. <?php print theme_user_bar() ?>

CSS не прилагаю, т.к. по сути здесь все понятно и без него.


29.03.2011 Пейджинг для Image Gallery (вперед, назад) - Drupal 6 22.03.2011 Форма входа вверху сайта - Drupal 6 22.03.2011 Сниппет поиска по товарам - Drupal 6 22.03.2011 Сниппет вывода самых популярных товаров - Drupal 6 22.03.2011 Сниппет вывода последних новостей в блоке - Drupal 6 03.03.2011 Денвер, Drupal7 19.03.2010 Индивидуальный шаблон для каждой страницы - Drupal 6 31.03.2010 Drupal 6 ошибка 0 /upload/js
О сайте