Всё, что потребует Drupal для регистрации вашей темы — это .info-файл. Все мета-данные темы: подключаемые CSS, JavaScript, регионы и всё остальное определяется в этом файле. Все другие файлы кроме этого являются дополнительными.
Системное название темы также определяется этим файлом. Например, если файл называется drop.info, то Drupal поймёт название этой темы как drop. В отличие от Drupal 6.x, в Drupal 5.x в качестве системного названия темы использовалось название папки. Учитывайте то, что существуют ограничения на используемые знаки, подробно об этих ограничених вы можете прочитать в этом документе: http://us3.php.net/manual/en/language.functions.php.
Отметьте: тема не должна иметь названия совпадающее с названием модуля. Это может вызвать конфликты вследствии использования функций, которые также будут иметь одинаковые названия в модуле и в теме. Дублирование названий функций запрещено стандартами кодирования и все установленные компоненты должны иметь уникальные названия.
Файлы .info для тем стали использоваться в Drupal 6.x, в Drupal 5.x файлы .info использовали только модули.
Эти файлы используются для HTML-разметки и опереций выполняемых переменными. В некоторых случаях они могут выводить другие типы данных, например xml rss. Каждый .tpl.php-файл управляет выводом определённых функций оформления. Эти функции являются дополнительными и в большинстве случаев будет достаточно тегов HTML и переменных PHP. Старайтесь избегать сложной логики.
Отметьте: в реестре тем кешируются все доступные данные о функциях темы. Они должны быть сброшены при добавлении в шаблон нового файла или перекрыты функциями оформления вашей темы. Редактирование же существующих файлов шаблона и функций тем не требует перестроения реестра.
Этот файл имеет контроль над обработкой всех данных. Файл template.php не является обязательным, но он может использоваться для полного контроля темы за выводом данных, т.к. позволяет работать с переменными модулей и переопределять их функции. Файл должен открываться тегом <?php, а закрывающий тег рекомендуется опустить.
Внешне подтема ведёт себя также как и любая другая тема. Разница заключается только в том, что подтема наследует все файлы базовой для себя темы. Чтобы создать подтему, в .info-файл подтемы нужно включить строку base theme. От темы указанной в качестве базовой и будут наследоваться настройки. Может быть несколько уровней наследования, т.е. подтему саму можно объявить базовой темой уже для другой подтемы, на этот счёт нет никаких ограничений. Drupal 5.x и ранние версии требовали наличия подтемы в подпапке темы, теперь это не так.
Для темы не является обязательным наличие логотипа и скриншота, но рекомендуется их сделать, особенно если вы размещаете тему на drupal.org. Скриншоты показываются в системе на странице тем: Administer →Site building → Themes и помогают пользователям визуально отличать темы друг от друга. Для того, чтобы знать как правильно делать скриншоты, прочитайте этот документ: Создание скриншотов.
Чтобы использовать в теме дополнительные возможности помимо логотипа, поиска, миссии и т.д., используйте шаблон theme-settings.php. Это дополнительная возможность, подробную информацию по которой вы можете найти здесь: Custom Theme Settings.
Для использования в теме возможностей модуля Color [links to older outline], в папке темы нужна папка color вместе с файлом color.inc и другими дополнительными файлами.
Все дополнительные темы рекомендуется устанавливать в папку sites/all/themes/, чтобы отделить их от стандартных тем и легче обновлять систему. Посмотрите документ про установку мультисайтинга, чтобы иметь представления о всех возможных папках.
Comments
Post new comment