Урок - Создание темы для Drupal 6.

Главная » Курсы » Курс Drupal 6, Темизация. » Урок - Создание темы для Drupal 6.

Обучающий онлайн курс
Drupal 6, Темизация.

Лицензия: Копирование запрещено.

Название темы.

Первое что нужно сделать для создания темы - выбрать имя будущей темы.

При создании новой темы, системное имя темы должно быть уникальным и не должно совпадать с системным названием используемых модулей.

Для нашей темы будем использовать имя "ramech".

Системное имя темы в Drupal 6 позволяет указывать какие функции будут относится к нашей теме. Например: функция ramech_theme(). По этой причине возникают ограничения на название темы со стороны PHP (см. http://us3.php.net/manual/ru/functions.user-defined.php). Ограничения кратко можно зложить следующи образом:

  • системное название темы в Drupal 6 должно начинаться с буквы;
  • возможно использование цифр, но название должно начинаться с буквы;
  • возможно использовать "_" (знак подчёркивания), но название должно начинаться с буквы;
  • нельзя использовать дефис, пробелы и пунктуацию;

При разработке темы для конкретного сайта часто используется название темы совпадающее с доменом сайта. Например: examplecom, example_com, example.

В названии своих тем я избегаю использовать символ подчеркивания. Потой причине, что символ подчеркивания используется в Drupal 6 для разделения имени темы и названия значимых функций темы. Рекомендую поступать вам также. Для примера, сравните как будут называться реализации хука hook_theme(), для тем examplecom, example_com, example (соответственно): examplecom_theme(), example_com_theme(), example_theme(). Первый и третий вариант визуально понятнее чем второй.

Место хранения тем.

Drupal 6 предлагает хранить свои темы и темы сторонних разработчиков в директории "./sites/all/themes/".

Помните: директория "./themes/", расположенная в корне сайта используется для тем поставляемых с ядром Drupal 6. Не рекомендуется хранить темы в директории "./themes/".

Создание темы в Drupal 6.

Создайте директорию "./sites/all/themes/ramech_dir".

Создайте файл "./sites/all/themes/ramech_dir/ramech.info".

Обратие внимание, что "ramech_dir" - это всего на всего имя директории и оно не влияет на системено имя темы. А вот название файла "ramech.info" как раз и будет разпознано Drupal 6 как системное имя. В нашем случае это "ramech".

Часто имя директории, в которой хранится тема, совпадает с системны именем. Мы же используем разные названия, чтобы продемонстрировать отличие директории и системого имени темы в Drupal 6.

Файл .info

Добавьте в info-файл (в нашем примере это файл ramech.info) следующее содержимое:

name = Ramech
description = My first theme.
version = 1.0
core = 6.x

 

Сделанного достаточно, что бы Drupal 6 "увидел" нашу новую тему на странице "Темы"(Управление/Administer › Строение сайта/Site building › Темы/Themes).

Выберите нашу тему по умолчанию и сохрание конфигурацию. После сохранения у вас пропадет меню и красивость - это нормально, ведь наша тема пустая.

Создавая свою тему в Drupal 6 или редактируя обратите внимание на следующие моменты:

  • Для темы не обязательно наличие логотипа, но рекомендуется его сделать.
  • Для темы не обязательно наличие скриншота, но также рекомендуется его делать. Скриншоты показываются на странице "Темы" (Управление/Administer › Строение сайта/Site building › Темы/Themes) и помогают пользователям визуально отличать темы друг от друга.
  • Другие файлы (css-стили, js-скрипты, php-скрипты, медиа-файлы, файлы-шаблоны) не являются обязательными и служат для детальной настройки темы.

Прежде чем наполнять нашу тему познакомимся с основной функцией которая отвечает за вызов тем - функция theme().