Создаю свою первую тему для Drupal. Часть 1.

Продолжаю читать документацию по друпал. Для тех, кто не читал - вот начало серии: концепция друпал. Теперь пытаюсь понять что такое темы и с чем их едят.

Основная задача - разобраться в темах друпал и в конечном итоге написать свою.

Поскипать теорию для нетерпеливых.

Немного теории: что такое темы в Drupal

Тема для друпал - это куча файлов, которая предназначена для управления внешним видом нашего сайта. Могут использоваться для изменения или замены текстов или переменных, генерируемых другими модулями. Темы могут применяться для замены внешнего вида только части сайта и даже отдельных страниц.

Для работы с темами необходимо иметь понятие о следующих технологиях:

Базовые понятия тем в концепции Drupal

Задачи, решаемые кульным внешним видом вашего сайта:

  1. управление посетителями на вашем сайте (заставить нажать на нужную вам кнопку/ссылку)
  2. визуально выделить ваши продукты/услуги
  3. предоставление информации для ваших посетителей
  4. лучший внешний вид по сравнению с конкурентами

Базовые таски в темах друпала:

  1. найти и открыть нужный CSS  в вашей теме
  2. копи-пасте CSS
  3. изучить и понять атрибуты CSS в конкретно взятой теме
  4. поменять цвета/шрифты
  5. утащить код из другой темы в ваш сайт
  6. сделать новый макет на базе существующего, например изменить количество колонок, добавить в заголовок или подвал и т.д.

Инструменты для облегчения жизни:

  1. Firebug - плагин для Firefox. Позволяет легко понять чего там напрограммировано в html'е. Скачать.
  2. Dragonlfy - примерно то-же самое, только для оперы. Скачать.
  3. Для IE есть неплохой плагин под названием Internet Explorer Developer Toolbar.

Руками тоже можно, но есть приличный шанс взывать волком и пойти убиться об стену.

Темы без программинга

Темы также имеют возможность подрутить себя незначительно без необходимости ковыряться в кодах. Например поменять логотип сайта или слоган. Есть возможность развлекаться с цветами, но для этого нужен модуль Color.

Также существует куча более других модулей, которые предназначены для управления внешним видом сайта без ковыряния в исходниках, но эта не наш метод :)

CSS в темах Drupal

В друпал используется CSS общий для всего www, однако у него есть свои специфические умолчания и тараканы в голове. Кроме того, некоторые модули тянут за собой свои куски CSS, в которых скорее всего придётся так же ковыряться, что-бы глобально поменять внешний вид сайта.

Самая примитивная тема содержит style.css (для языков с написание слева на право) и style-rtl.css (для языков справа налево). Но ничто не мешает наплодить немереное количество css'ов, дискриминировав их по любому признаку.

Насколько я понял, существует два стандартных способа добавить CSS'ину: через .info файл темы (для простых смертных) и через CSS API (для программеров если нужно подгружать css'ы динамически).

Кишки друпаловой темы (теория)

Тема для drupal состоит из следующих органов (см. оригинал):

  1. Файл(ы) .info
    Обязательный.
    Здесь описываются на языке, понятном Drpal, из чего состоит наша тема.
  2. Шаблоны (templates) - файлы типа .tpl.php
    Необязательные.
    Представляют собой куски PHP'шного и/или HTML'евского кода. На сколько в данный момент я понимаю, отвечают за формирование неких кусков контента.
  3. template.php - мозги шаблона
    Необязательный.
    Управляет всей этой кашей. Должен начинаться с
  4. Вложенные темы (подтемы, sub-themes)
  5. Прочее и р азное:
    1. логотип и скришот темы для упрощения включения её в друпаловский репозиторий тем (если кого уж сильно торкнет)
    2. theme-settings.php - поддержка админки для смены логотипа, слогана и т.д
    3. поддержа для модуля Color (color.inc) 
Прежде чем начать экспериментировать над темами, запомните, что друпаловцы настоятельно рекомендуют копировать тему, на которой вы будете издеваться под другим именем (естественно оставляя оригинал на месте) и стараться производить все манипуляции в папке sites/all/themes. Плюс намекают про тараканов при многосайтовой конфигурации.

 

Теперь попробую более подробно разобраться и понять предоставляемый drupal функционал для создания своей темы.

RSSAdd to Google

Обсуждение:

Как вам материальчик? *



















Тема:

Мысль:

Как звать-то:

Почта:

PS: Комментарии публикуются только после проверки модератором.

PPS: E-mail'ы не публикуются.

* обязательные поля