Шаблоны страниц и нод в Drupal 7

Страница обслуживания

maintenance-page--[offline].tpl.php

maintenance-page.tpl.php - шаблон страницы обслуживания. Отображается когда включен режим обслуживания сайта. И часто эта страница выглядит некрасиво, если её не менять. Для этого и существует шаблон maintenance-page.tpl.php.

maintenance-page--offline.tpl.php - шаблон страницы, отображающийся при ошибках, связанных с базой данных.

У этих двух шаблонов есть особенность - они включают в себя полную разметку HTML страницы, т.е. содержит всю страницу целиком, включая head и body.

Шаблоны нод

node--[type|nodeid].tpl.php

Пожалуй самые используемые шаблоны, т.к. довольно часто необходимо изменить разметку для ноды или для всех нод одного типа. Например, необходимо сделать страницу товара. У товара есть поля, которые необходимо вывести в определённых местах страницы. Это можно сделать очень просто, создав шаблон для определённого типа ноды товара.

Базовый шаблон, используемый для отображения любых нод называется node.tpl.php.

  • node--nodeid.tpl.php где nodeid - ID ноды. Шаблон используется если необходимо изменить разметку конкретной ноды. Например шаблон node--1.tpl.php задает разметку для первой ноды.
  • node--type.tpl.php где type - тип ноды. Если необходимо указать разметку для всех нод одного типа используется этот шаблон. Например node--article.tpl.php задаёт разметку для всех нод типа article.

Шаблоны страниц

page--[front|internal/path].tpl.php

Базовый шаблон для страниц: page.tpl.php.

  • page--node--edit.tpl.php - задаёт шаблон страницы редактирования и создания ноды.
  • page--node--1.tpl.php - задаёт шаблон страницы для ноды с id.
  • page--node.tpl.php - шаблон для всех страниц с нодой.
  • page--front.tpl.php - очень полезный шаблон, использующийся для отображения главной страницы сайта.
  • page--taxonomy.tpl.php - шаблон страницы для терминов таксономии
  • page--taxonomy--term--1 - шаблон страницы для термина таксономии с tid = 1

UPD: Этим способом можно переопределить шаблон страницы Drupal, выводимой через модуль Views. Для этого нужно создать новый шаблон page--[viewurl], где viewurl - путь страницы. Например, для страницы http://site.ru/views-page/ нужно создать шаблон с именем page--views-page.tpl.php.

Подробнее про шаблоны views я написал в отдельной статье: Шаблоны блоков, страниц, полей для модуля views Drupal 7.

UPD: В Drupal 7 нет стандартных шаблонов для страниц ошибок 404, 403. Так же, по умолчанию нет возможности объявить свой шаблон страницы для отпределённых типов нод. Но это легко реализуется. Как это сделать можно прочитать здесь: Создание кастомных шаблонов в теме Drupal 7.

Про шаблоны блоков, комментариев и полей вы можете почитать в соотвествующей статье: Шаблоны блоков, комментариев и полей Drupal 7.

Так же, есть очень хорошая статья (Drupal 7 Template (Theme Hook) Suggestions) на официальном сайте Drupal, где описываются еще шаблоны форума, голосований, таксономии и т.д.: https://drupal.org/node/1089656