Привет!
С Drupal'ом знаком недавно, так что сорри за примитивные вопросы. Подскажите кто-нибудь, пожалуйста, как мне грамотно изменить дизайн user login block? Я пробовал менять (т. е. самому вызывать другую) функцию user_login_block, это конечно дает результат, но нарушает работу самого модуля. alter_form тоже пробовал, но она меняет форму для всех тем - мне нужно только для моей темы (может есть еще какой-то вариант, чтобы избежать этого). Ну и вообще конечно хотелось бы замутить как например для search блока через _phptemplate_callback, чтобы потом дизайнер мог сам в .tpl.php HTML поменять.
Хороший пример, красивого login блока на www.fastcompany.com - Вообще не пхож на стандартный. Ну и вообще сайт ничего так.
Комментарии
Такого результата можно добиться только с помощью CSS стиля. Фон, границы блока с формой, выравнивание элементов формы.
Если посмотреть на стандартный login block, там, например, присутствуют два линка. На регистрацию и на забытый пароль оформленных в виде item-list
Надписи в Переводах -- управление строками изменить можно.
Вот не знаю, к сожалению, почему логин отдельным темплейтом не вынесли - не нужно, наверно большинству.
В приложении картинка - форма авторизации, делал только при помощи CSS.
Вообще не натыкался пока на "правильную" кастомизацию этого блока, остается надеяться, что кто-нибудь из гуру ответит
А css файл, "отвечающий" за это блок, называется User.css, и лежит в модуле Юзер.
Не обязательно, я в файле темы перекрывал значения по умолчанию, вдруг тема другая будет выбрана, надо чтобы и в ней нормально отображалось.
Вы можете сделать по аналогии с этим - http://setegnom.com/node/544. А, вообще, на drupal.org есть Handbook...
To Roof: Красивый блок! Спасибо. Я понимаю что декор можно менять до определенной степени с помощью CSS. Но хочется большей власти
To vadbars@drupal.org: Спасибо, Я читал handbook (http://drupal.org/node/92657) и вообще прочисал весь drupal.org. Грамотного решения этого вопроса я не нашел. То о чем сказано в упомянутой статье, по сути ничего не дает, т. к. там вызывается все таже форма 'user_login_block'. Все остальное делается CSS'ом. IMHO это не очень правильно. Разве нет? Допустим эти ссылки я хочу поместить вообще в другом блоке. Можно конечно скрыть эти элементы CSS'ом, но этоже не комильфо! Можно ли при использовании alter_form сделать условие, чтобы только для моей темы форма менялась? И еще, почему нельзя использовать alter_form в template.php?
Огромное спасибо за помощь!