CMS Drupal часто ругают за однообразность и узнаваемость дизайнов, которые используются на Друпал-сайтах. То что за данным сайтом стоит Друпал можно определить не только URL-адресам специфического вида, узнаваемым путям к папкам модулей и главной странице в виде списка последних опубликованных документов, но и по стандартной двух-трехколоночной структуре сайта, наличии стандартных форм авторизации и поиска, облаков тегов, списков новых документов и других часто используемых блоков.
Однако все эти упреки не оправданы, к Друпалу, при должном умении, можно прикрутить дизайн и верстку любой сложности. До неузнаваемости можно "темизировать", то есть изменить внешний вид, любой html-код, создаваемый Друпалом: все стандартные формы, блоки, документы и списки.
В ноябрьском номере журнала PC Magazine/RE опубликована моя статья о "темизации" Друпала, в ней рассказано о трех этапах темизации, которые покрывают собой практически 100% задач, связанных с изменением внешнего вида сайта:
- разработка общего шаблона для всех страниц сайта и "кастомных" шаблонов для избранных страниц;
- разработка различных шаблонов для разных типов документов и списков;
- изменение внешнего вида форм (поиск, авторизация и любые другие стандартные и создаваемые внешними модулями формы).
Кроме того, в последнем разделе рассказано об основах Forms API Друпала.
upd Хабраюзеры могут плюсануть статью тут, а то ее там минусуют без комментариев.
Комментарии
Теперь будет куда послать начинающих темизаторов.
Ромка - молодца.
Только ссылки в конце странные, pig при чем?
--
з.ы. поставь заглушку на .com (у ht-systems)
Василий, про ссылки не понял, о чем речь? Я эту версию, которая в интернете опубликована, еще перечитать не успел, возможно ее как-то "адаптировали".
Ага, я вообще это домен только для мыла зарегистрировал, забыл совсем про доступ по хттп, сделаю позже редирект на ромку.еу.
хм, кто ругает? пальцем тыкните. говносайты не в счёт. ТЗ главнее
p.s. Надо взять за подпись в комментах: сперва изучите тематизацию в друпал!
Хорошая статья для начинающего друпалера, посылать их сюда надо будет.
Но скажу что тяжеловат для тех кто не в теме. Если я "в танке", может это какой-то цикл из статей в этом журнале?
- объясните ламеры, это вы о чем?
Замечательная статья, спасибо! В совокупности с http://drupaldance.com/blog/%D1%82%D0%B5%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D... решает почти все вопросы с темизацией в Друпал6.
Но вот я не нашел для себя ответа на простой вопрос: как переопределить такую простую тему, как на примере.
$output = '<h2 class="title">'. $title .'</h2><div>'. $content .'</div>';
return $output;
}
На Друпал5 достаточно было прописать в template.php function MОЯ_ТЕМА_box()
Как сделать это на Друпал6. Template.php сейчас пустой, не знаю что в него писать.
Извините, если не совсем в тему
также:
function твоятема_box($title, $content, $region = 'main') {
Nikit, я так попробовал в первую очередь - почему-то не получилось. Друпал не видит функции, помещенные в template.php (пробовал и с и без заключительного ? >). Поэтому для собственных функций приходится создавать модуль. Где-то я отчаянно туплю, похоже Хорошо, спасибо, буду разбираться.
Признаюсь, у меня такое случалось, когда на сайте разные темы для фронта и админки, тогда можно каталог или имя_темы спутать. Если кэш чистить, то функции читает по-любому.
Спасибо!
Понравилось. На днях знакомая сетовала на сложность изучения Друпала, и как ответ - эта статья. Роман, пишите еще.
Хороши ламеры
>может это какой-то цикл из статей в этом журнале?
ТИпа того, было про модули еще и про готовые сборки.
Спасибо вам большое!
Вот этот абзац для меня всё расставил по местам. Я теперь понял, как правильно проводить темизацию вывода в модуле. До этого делал неправильно, как оказалось.
Прежде чем кодить, всегда стоит посмотреть, что сделано до тебя. Я имею в виду вдумчивое изучение листингов ядра.
поддерживаю, в modules просто отличные примеры как писать код (то бишь тот же api.drupal.org).
Ромка, маладца. Прочитал и не осуждаю.
Спасибо за статью!
Тема вроде и знакома, а так прочитаешь и все по полочкам!
За статью спасибо. На хабре плюсанул
p.s. За хабростатью не переживай, кому надо, все равно найдут. А что до минусов - так там давно уже секта минусовальщиков-дебилоидов. Редко кто пишет нормальные статьи, в стилистике нормального хабра. Все больше то плач ярославны о том, кто кого кинул, или копипасты хайтек новостей.
Всё бы классно, если бы не условия журнала PC Magazine на публикуемые материалы
Роман, молодец. Хорошая, полезная, полная статья. Спасибо! и так держать)
Действительно огромное спасибо!
Статья шикарная!
Господа прошу прощения за офтоп, а не найдется ли у кого нибуть инвайта на хабр, страсть как хочется ромке плюсик поставить
-извиняюсь. Хотел написать ЛАМЕРУ.
Прекрасная опечатка. Особенно с учётом того, кому Вы отвечали -)
- представляю их недоумение.
Честно говоря, я тоже был удивлён снисходительностью Вашего тона, когда прочёл комментарий в первый раз. Пожал в недоумении плечами, подумав, что бывает всякое. Кто же думал, что это была такая опечатка?! -)
Про такое говорят - оговорочка по Фрейду...
Здравствуйте Роман,
Во-первых, большое спасибо за статью. Во-вторых, сразу не отходя от кассы хотелось бы задать такой вопрос :).
Можно перекрыть выполнение стандартных функций темизации друпал в файле шаблона(template.php), т.о. изменить к примеру вывод ВСЕХ меню на сайте.
Но как быть в случае, если на сайте несколько типов меню, и для каждого нужна своя функция темизации? Какой по-вашему должен быть подход при решении подобных задач?
В данной теме было обсуждение способа темизации конкретного меню. Хочется понять, как всетаки это делать грамотно и рационально, без перекрытия отработанного кода друпал...
Большое спасибо за внимание.
В описании листинга 4 упоминается о выделении строчек зелёным цветом. У меня на экране этого нет - всё обычным шрифтом...