static_rocket_468x60.jpg

Файлы темы Drupal. Темизация

Тема Drupal это несколько файлов плюс картинки. Попробуем разобраться какие файлы для чего предназначены. Из всех файлов темы обязательно должен присутствовать только info файл. С него и начнём.

INFO файл

info файл должен называться также как тема
название_темы.info
В этом файле прописывается вся информация, от скрина темы до подключённых файлов стилей и скриптов. Каждая строка содержит пару: ключ и значение.

  • name Это обязательное значение. Должно начинаться с буквы, может содержать цифры и знак подчёркивания. Эти ограничения вызваны тем что имя темы будет использоваться в формировании PHP функций. Имя должно быть уникальным и не совпадать с названием какого либо модуля.
  • description. Не обязательное но рекомендованное значение. Содержит короткое описание темы которое мы видим на странице где подключаем темы.
  • screenshot в дополнение к описанию description выводит небольшой скриншот темы. Используется только в случае если в качестве скриншота используется файл с именем отличным от screenshot.png, или расположенным за пределами базового каталога темы.
  • version версия темы. Необязательное рекомендованное значение
  • core версия ядра Drupal. Обязательное значение. Указывается не полная версия а ветка, так например core = 7.x указывает что тема для семёрки.
  • base theme указывается базовая тема для подтемы.
  • regions определяет доступные регионы. В ключе записывается машинное имя в квадратных скобках, а в значении читаемое значение. Ключ regions не является обязательным. Если в своей теме вы не укажите не одного региона то в Drupal 7 по дефолту будут определены следующие регионы
    regions[header] = Header
    regions[highlighted] = Highlighted
    regions[help] = Help
    regions[content] = Content
    regions[sidebar_first] = Left sidebar
    regions[sidebar_second] = Right sidebar
    regions[footer] = Footer
  • features определяет фичи доступны на странице управления темами. Если info файл не содержит ни одного ключа features по умолчанию разрешаются  все. Для Drupal 7 список доступных фич
    features[] = logo
    features[] = name
    features[] = slogan
    features[] = node_user_picture
    features[] = comment_user_picture
    features[] = comment_user_verification
    features[] = favicon
    features[] = main_menu
    features[] = secondary_menu
    а вот как это выглядит на странице конфигурации темы
    фичи темы drupal
  • theme settings определяет какие фичи по умолчанию отмечены. В ключе записывается машинное имя в квадратных скобках а в значении 0 - отключено или 1 - включено.
    settings[toggle_logo] = 1
  • stylesheets подключает таблицы стилей. В ключе в квадратных скобках записывается тип устройства далее идут пустые квадратные скобки, в значении указывается css файл.
    stylesheets[all][] = style.css
  • scripts подключает скрипты. В ключе не забываем поставить пустые квадратные скобки, в значении указываем файл скрипта
    scripts[] = myscript.js

Файлы шаблонов (.tpl.php)

Файлы шаблонов это HTML разметка и PHP код. Каждый файл шаблона отвечает за определённый вывод. В некоторых случаях он работает с другими tpl файлами. Так например html.tpl.php содержит основную разметку страницы. page.tpl.php отвечает за вывод страницы. node.tpl.php за вывод контента.шаблоны tpl.php в Drupal

Файлы шаблонов могут определять вывод модулей. Находятся они в этом случае в папке с модулем. Чтобы переопределить вывод нужно скопировать .tpl файл из папки модуля в папку с темой.

template.php

Не рекомендуется писать много PHP кода в файлах .tpl.php, для этого есть template.php. Он содержит пользовательские функции переопределяющие функции темы.

Как я уже говорил единственным обязательным файлом является .info файл. Даже если в теме не будет ни одного файла шаблона контент будет выводиться за счёт шаблонов ядра. Найти их можно там где расположены модули ядра в папке modules. Создавая шаблоны в папке с темой мы переопределяем вывод так как нам нужно.

В описании info файла я упомянул о подтемах. Что это такое? Начнём с того что если вы хотите сделать свою тему, не обязательно всё писать с нуля. Зная что такое HTML и CSS вы можете взять готовую тему и на её основе сделать свою. Ваша тема будет наследовать все возможности базовой, при этом вы можете в своей подтеме настроить вывод так как вам нужно.

оценить статью: 
Средняя: 5 (3 оценок)

Комментарии

3
Аватар пользователя Антон Дышлюк

Антон Дышлюк чт, 04/03/2014 - 21:24

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

Аватар пользователя Oleg

Oleg чт, 04/03/2014 - 22:45

Обновить в пределах одной ветки достаточно просто. Дел на 15 минут. Главное не забыть сделать бэкап.
Выбирая движок для сайта, особенно для интернет магазина, нужно учитывать свой уровень знаний. Бесплатность не должна быть основным критерием выбора.
Посоветовать никого не могу. Спросите на drupal.ru или в своём городе посмотрите веб студии которые работают с этим движком

Аватар пользователя Антон Дышлюк

Антон Дышлюк чт, 04/03/2014 - 22:54

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

Добавить комментарий