Темизация Друпала.

Друпалом я занимаюсь уже несколько лет, и до того, как он стал достаточно популярен, успел поверстать и "понавешивать" шаблоны на некоторые другие более-менее распространенные цмс с джумлой во главе.

Никогда такой удобной и понятной системы темплейтов, как в друпале, я не видел. Да, в первый раз повесить всё быстро и правильно, скорее всего не удасться, но при некоторой сноровке всё становится намного проще и удобнее.

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

1) На этапе верстки сайта не учитывается, какая CMS будет использоваться. Из-за этой ошибки приходится переверстывать как минимум половину из-за того, что некоторые элементы (вывод меню, блоков, и т.д.) проще темизировать через css, чем писать для них хаки в template.php, заставляя их выводить какой-то нестандартный код для стандартных элементов. Нужно запомнить одно: Темизация Друпала - это работа с css. Если вы не можете работать с css - хорошую и правильную тему вы никогда не сделаете.

2) Стандартная панель администратора наводит на пользователей ужас. И это не удивительно. Поэтому, если есть возможность, надо делать какое-то небольшое меню для пользователей-администраторов со ссылками на самые распространенные действия (4-5), которые они будут выполнять. Не бойтесь потратить на это время, оно окупиться с лихвой. Также я всегда ставлю модуль admin_menu на все сайты.

3) Функционал Друпала в 90% процентов случаев избыточен. Поэтому, не стесняйтесь, смело удаляйте и отключайте функции, которые вам не нужны. Просто спросите себя - будете ли вы пользоваться, например, тегами? Нужна ли вам возможность комментирования? Зачем разрешать пользователям регистрироваться? Если функция явно не нужна - отключайте, понадобиться - включите обратно, ничего страшного. Режте избыточный функционал безжалостно.

4) При верстке нужно использовать друпаловские стили. Например, .clear-block (переименован в .clearfix в Друпал 7) избивит вас от многих проблем с float безо всяких танцев с бубнами.

5) Удобно делать свой стандарный .css файл. Подробнее об этом как-нибудь отдельно.

6) Как поступать, если нужно сделать блок, который отличается от других, например, фоном? Есть три варианта - 1) Раскрасить его по id через css; 2) Сделать специальный регион для него, и все блоки, которые находятся в этом регионе, раскрашивать через css; 3) Поставить модуль для темизации блоков, например, blocktheme. В каждом отдельном случае нужно выбирать свой вариант, который наиболее подходит для данного конкретного случая.

7) Очистка друпаловского кеша - drupal_rebuild_theme_registry();

Blog categories: DrupalТемизация Drupal