Своя тема для Друпала.

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

  1. Переделать готовую тему.
  2. Сверстать на основе подтемы..
  3. Написать самому с ноля.

Что нужно знать для создания своей темы для Drupal.

Прежде чем решить какой вариант выбрать нужно оценить свои знания. В любом случае нужно знать HTML и CSS. Необязательно знать на зубок названия всех тегов, селекторов и прочего. Достаточно понимать общие принципы и уметь пользоваться поиском или спросите у меня:). Этих знаний хватит на два первых варианта. Зная что такое PHP можно пробовать делать полностью свою тему.

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

Делаем тему для Друпала на основе Zen.

В Drupal мы имеем замечательную возможность взять тему и на её основе создать подтему. Таким образом наша подтема обладает всеми возможностями основной темы, при этом мы можем экспериментировать не опасаясь сделать что-нибудь непоправимое.

От слов к делу. Скачивает тему https://drupal.org/project/zen и устанавливаем как обычно. Переходим в папку с темой zen sites/all/themes/zen. Здесь нам нужно найти папку STARTERKIT и скопировать её в sites/all/themes. Переименуем папку STARTERKIT например в newthemes - это будет названием вашей подтемы.

Теперь подкоректируем info файл. В паке подтемы находим файл STARTERKIT.info.txt и переименовываем его заменяя STARTERKIT на название подтемы, в моём случае это newthemes, и удалив из названия ".txt". В итоге получаем файл newthemes.info. Далее редактируем сам info файл. Нужно заменить name = Zen Sub-theme Starter Kit" на "name = newthemes" и изменить описание "description = Read..." на "description = описание новой темы". Следующее изменение будет касаться внешнего вида сайта. В нашей теме уже определены некоторые стили. Мы можем выбрать фиксированный размер сайта или резиновый. В разделе где прописаны CSS файлы для подключения нужно оставить строку
stylesheets[all][]   = css/layouts/responsive-sidebars.css для резинового или
stylesheets[all][]   = css/layouts/fixed-width.css для фиксированного.

Следующий шаг редактирование файлов template.php и theme-settings.php. Заменяем в них все встречающиеся STARTERKIT на название темы, в моём примере это newthemes.Подготовка темы закончена. Теперь её нужно включить по умолчанию и начинать экспериментировать.

Наша экспериментальная тема содержит 23 css файла. Не все эти файлы нам нужны.

  • Файлы в названии которых есть rtl предназначены для сайтов на которых текст читается с права на лево.
  • Файл для печати.
  • Один из файлов определяющих макет(резиновый или фиксированный)

Все не нужные css файлы можете смело удалять.

На последок несколько советов:

  1. Для изменения файлов шаблона (page.tpl.php и др.) переместите нужные файлы в папку templates.
  2. На время разработки тему отключайте сжатие и кэширование. Иначе сложно найти где какие стили прописаны.
  3. В дополнение к предыдущему пункту. на время разработки в настройках темы включите "перестраивать реестр темы при каждой загрузке страницы".
  4. Пользуйтесь аддонами или встроенными возможностями браузеров для просмотра/редактирование, например Fire Bug.