Создаю свою первую тему для Drupal. Часть 1.
Продолжаю читать документацию по друпал. Для тех, кто не читал - вот начало серии: концепция друпал. Теперь пытаюсь понять что такое темы и с чем их едят.
Основная задача - разобраться в темах друпал и в конечном итоге написать свою.
Поскипать теорию для нетерпеливых.
Немного теории: что такое темы в Drupal
Тема для друпал - это куча файлов, которая предназначена для управления внешним видом нашего сайта. Могут использоваться для изменения или замены текстов или переменных, генерируемых другими модулями. Темы могут применяться для замены внешнего вида только части сайта и даже отдельных страниц.
Для работы с темами необходимо иметь понятие о следующих технологиях:
- xHTML и CSS
- JavaScript, jQuery (если для темы нужны JavaScript'ы)
- изучить терминологию, используемую drupal
Базовые понятия тем в концепции Drupal
Задачи, решаемые кульным внешним видом вашего сайта:
- управление посетителями на вашем сайте (заставить нажать на нужную вам кнопку/ссылку)
- визуально выделить ваши продукты/услуги
- предоставление информации для ваших посетителей
- лучший внешний вид по сравнению с конкурентами
Базовые таски в темах друпала:
- найти и открыть нужный CSS в вашей теме
- копи-пасте CSS
- изучить и понять атрибуты CSS в конкретно взятой теме
- поменять цвета/шрифты
- утащить код из другой темы в ваш сайт
- сделать новый макет на базе существующего, например изменить количество колонок, добавить в заголовок или подвал и т.д.
Инструменты для облегчения жизни:
- Firebug - плагин для Firefox. Позволяет легко понять чего там напрограммировано в html'е. Скачать.
- Dragonlfy - примерно то-же самое, только для оперы. Скачать.
- Для IE есть неплохой плагин под названием Internet Explorer Developer Toolbar.
Руками тоже можно, но есть приличный шанс взывать волком и пойти убиться об стену.
Темы без программинга
Темы также имеют возможность подрутить себя незначительно без необходимости ковыряться в кодах. Например поменять логотип сайта или слоган. Есть возможность развлекаться с цветами, но для этого нужен модуль Color.
Также существует куча более других модулей, которые предназначены для управления внешним видом сайта без ковыряния в исходниках, но эта не наш метод :)
CSS в темах Drupal
В друпал используется CSS общий для всего www, однако у него есть свои специфические умолчания и тараканы в голове. Кроме того, некоторые модули тянут за собой свои куски CSS, в которых скорее всего придётся так же ковыряться, что-бы глобально поменять внешний вид сайта.
Самая примитивная тема содержит style.css (для языков с написание слева на право) и style-rtl.css (для языков справа налево). Но ничто не мешает наплодить немереное количество css'ов, дискриминировав их по любому признаку.
Насколько я понял, существует два стандартных способа добавить CSS'ину: через .info файл темы (для простых смертных) и через CSS API (для программеров если нужно подгружать css'ы динамически).
Кишки друпаловой темы (теория)
Тема для drupal состоит из следующих органов (см. оригинал):
- Файл(ы) .info
Обязательный.
Здесь описываются на языке, понятном Drpal, из чего состоит наша тема. - Шаблоны (templates) - файлы типа .tpl.php
Необязательные.
Представляют собой куски PHP'шного и/или HTML'евского кода. На сколько в данный момент я понимаю, отвечают за формирование неких кусков контента. - template.php - мозги шаблона
Необязательный.
Управляет всей этой кашей. Должен начинаться с - Вложенные темы (подтемы, sub-themes)
- Прочее и р
азное:
- логотип и скришот темы для упрощения включения её в друпаловский репозиторий тем (если кого уж сильно торкнет)
- theme-settings.php - поддержка админки для смены логотипа, слогана и т.д
- поддержа для модуля Color (color.inc)
Теперь попробую более подробно разобраться и понять предоставляемый drupal функционал для создания своей темы.




Обзор AgeStar NSB3AS1T NAS для 3.5" SATA HDD
Комментариев и оценок: 183
Обзор AgeStar NSB3AS1T NAS для 3.5" SATA HDD - сетевого хранилища на базе 3.5" SATA HDD с возможностью подключения по USB. 10/100 Mbit, SATA 3.5"
AgeStar FUBCP USB2.0 to IDE/SATA Adapter
Комментариев и оценок: 93
AgeStar FUBCP - подключение IDE или SATA 2.5",3.5" или 5.25" устройств через USB
Обзор жесткого диска HDD 2ТБ Western Digital WD20EARS
Комментариев и оценок: 73
Краткий обзор жесткого диска HDD 2ТБ Western Digital WD20EARS-00MVWB0 с фотографиями и тестами производительности.Многофункциональное устройство Canon LaserBase MF3228
Комментариев и оценок: 52
Многофункциональное устройство Canon LaserBase MF3228. Описание, впечатления от работы, ссылка на драйвера.
AgeStar SUB2O1 2.5" SATA External Enclosure
Комментариев и оценок: 51
Обзор с картинками и тестами AgeStar SUB201 - внешней USB коробки для 2.5" SATA винчестеров.