Читать «Журнал PC Magazine/RE №11/2009» онлайн - страница 91

PC Magazine/RE

Анатомия темы оформления

Как и в случае с модулем, разработка которого рассматривалась в предыдущей статье, тема оформления должна иметь уникальное имя, состоящее из строчных латинских букв, цифр и знаков подчеркивания, и это имя должно начинаться с буквы. Тема оформления – это несколько файлов, которые располагаются в папке sites/all/themes/имя_темы относительно корня Drupal.

PHPTemplate при сборке страницы берет информацию из пяти основных файлов: имя_темы.info, page.tpl.php, node.tpl.php, block.tpl.php, template.php. Если же включен модуль comment, для вывода комментариев используется шаблон comment.tpl.php.

Файл имя_темы.info содержит служебную информацию: название и описание темы оформления, список используемых в ней *.css– и *.js-файлов и список регионов (ссылку на подробное описание всех параметров, используемых в *.info-файле темы, можно найти во врезке в конце статьи). Данные, находящиеся в этом файле, кэшируются в базе данных, и чтобы внесенные в него изменения вступили в силу, нужно этот кэш сбросить. Самый простой способ сделать это – просто зайти на страницу со списком тем и нажать кнопку Save configuration; при этом сбросится только закэшированная информация из *.info-файла, но не весь кэш сайта.

Page.tpl.php – это основной шаблон, в нем размещается HTML-код всей страницы, которая позже будет выведена пользователю. В частях страницы, где будет выводиться содержимое регионов и основной текст, должны располагаться соответствующие переменные. Например, если в *.info-файле не указано иное, то в каждой теме оформления присутствует пять основных регионов (их описание я давал выше), которые представлены переменными $left, $right, $header, $footer, $content. В первых четырех переменных выводятся блоки, размещенные в соответствующих регионах, в переменной $content находится основное содержимое страницы, а это или шаблон node.tpl.php (если просматривается документ, – например, новость или запись в блоге) с выведенными в нем данными, или страница, созданная каким-либо модулем, – например, список, генерируемый модулем Views.

Описание схемы страницы

1 – основной шаблон страницы, определяется в файле page.tpl.php;

2-1 – регион «левая колонка» (определяется переменной $left в шаблоне page.tpl.php);

2-2 – регион «основное содержимое страницы» ($content),

2-3 – регион «подвал сайта» ($footer);

3 – блоки, размещенные в левой колонке, определяются шаблонами block.tpl.php или его модификациями (block-region.tpl.php и др.);

4 – документы из «ленты новостей», определяются шаблоном node.tpl.php или его модификациями (например, node-имя_типа_контента.tpl.php).

Кроме переменных, содержащих видимые пользователю данные, в шаблоне page.tpl.php должно размещаться несколько служебных переменных. Скажем, между тегами <head> страницы располагаются переменные $head, $styles, $scripts. В этих переменных Drupal собирает HTML-код, добавляющий к странице мета-теги, файлы стилей и java-скрипты соответственно. Наличие этих трех переменных позволяет программистам в своих модулях, используя API-функции drupal_add_css(), drupal_add_js() и некоторые другие, добавлять к странице свои стили или другие файлы, не изменяя файлов темы оформления.