Создание темы для Drupal. Структура файла .info

Аватар пользователя artur.baranok
Опубликовано вт, 07/14/2015 - 12:45 пользователем artur.baranok
Форумы: 

name (название)

Обязательная строка. Сюда записывается название темы для людей. Оно отличается от системного названия, так что здесь нет ограничений на разрешённые знаки.

name = Theme Name

description (описание)

Это описание темы, которое показывается в системе на странице Управление Строение сайта Темы, поэтому, чтобы не затруднять работу со страницей тем, постарайтесь сделать это описание как можно более кратким.

description = The theme's brief description.

screenshot (скриншот)

Также как и описание, это изображение показывается в системе на странице Управление Строение сайта Темы. Прежде чем сделать скриншот своей темы, ознакомьтесь с рекомендациями по его созданию. Если скриншот лежит в подпапке темы, то используйте путь к этому файлу относительно папки темы, например: screenshot = images/theme-thumbnail.gif.

screenshot = screenshot.png

version (версия темы)

Строка с версией будет автоматически добавлена в .info-файл при добавлении темы на drupal.org. Таким образом вы можете не заполнять это значение при создании темы. Однако если ваша тема не размещается на drupal.org, то эту строку рекомендуется заполнить самостоятельно.

version = 1.0

core (версия системы)

Обязательная строка. Начиная с Drupal 6, во всех .info-файлах должна быть явно определена версия системы. Значение этой этой строки сравнивается с константой DRUPAL_CORE_COMPATIBILITY и если значения не совпадают, то тема считается несовместимой с установленной версией системы.

core = 6.x

engine (движок темы)

Обязательная строка. В этой строке указывается с каким движком работает тема. Если в этой строке ничего не указано, то будет предполагаться, что тема существует как отдельный .theme-файл.

engine = phptemplate

base theme (базовая тема)

Эта строка используется в подтемах. Для любой подтемы нужно определить базовую тему — это позволит подтеме наследовать настройки базовой темы. Для любой темы можно создавать неограниченное количество подтем и каждая следующая тема будет наследовать настройки всех предыдущих в каскадном порядке. Следующая запись используется в теме Minelli, базовой темой для которой определена тема Garland.

base theme = garland

regions (регионы, колонки)

Системное название региона указывается в скобках, а название которое будет использоваться на странице блоков в правой части. Общая форма записи для определения регионов: regions[theRegion] = The region name.

Вы можете переопределить эти значения под свои определённые нужды, но учитывайте, что системные названия и названия переменных регионов в файле page.tpl.php работают вместе. Т.е. регион который имеет системное название left, в файле page.tpl.php выводится переменной $left и системное название региона в .info-файле должно соответствовать названию переменной в файле page.tpl.php (название из скобок автоматически конвертируется в переменную PHP. Таким образом на системные названия регионов накладываются стандартные для PHP ограничения).

Если регионы явно не определены, то будут использоваться значения по умолчанию.

features (возможности)

Эти строки используются чтобы включить/выключить определённые возможности темы. Записи в этой секции .info-файла будут определять видимость полей на странице темы в системе. По умолчанию, если ни одна из возможностей явно не определена в .info-файле, то предполагается, что они включены все. Отметьте: определяйте только возможности необходимые в теме, не нужно включать все возможности, если они теме не нужны.

Ниже находится список всех доступных возможностей. Строки primary_links и secondary_links закомментированы, таким образом Primary links и Secondary links будет невозможно использовать.

stylesheets (стили)

В Drupal 5, стили добавлялись вызовом drupal_add_css() в файле template.php. В Drupal 6, стили добавляются через .info-файл (хотя по-прежнему можно использовать и файл template.php).

; Add a stylesheet for all media
stylesheets[all][] = theStyle.css

; Add a stylesheets for screen and projector media
stylesheets[screen, projector][] = theScreenProjectorStyle.css

; Add a stylesheet for print media
stylesheets[print][] = thePrintStyle.css

Темы могут переопределять .css-файлы, которые включены в модули. Если вы хотите внести значительные изменения в исходный файл, то следует создать новый файл стиля с таким же названием как и файл стиля модуля в папке темы, после чего определить его в .info-файле. Например, файл стилей модуля System находится по адресу modules/system/system-menus.css. Если вы сделаете файл с названием system-menus.css, положите его в папку темы и определите его загрузку в .info-файле, то будет использоваться ваш новый файл. Т.е. при совпадении имён файлов, приоритет будет отдан файлу из папки темы. Отметьте: файл должен иметь тот же медиатип, как и исходный файл, в противном случае Drupal сочтёт его другим файлом и замены файлов не произойдёт.

stylesheets[all][] = system-menus.css

scripts (скрипты)

В Drupal 5, JavaScript скрипты добавлялись вызовом drupal_add_js() в файле template.php. В Drupal 6 скрипты добавляются через .info-файл (хотя по-прежнему можно использовать и файл template.php).

scripts[] = sample.js

Темы могут переопределять .js-файлы которые включены в модули. Это делается аналогично переопределению .css-файлов.

php (версия php)

Эта строка определяет минимальную версию PHP, с которой работает тема. По умолчанию, это значение берётся из константы DRUPAL_MINIMUM_PHP, которая определена в ядре. Если необходимо, то это значение может быть переопределено на использование более новой версии PHP.