Вы здесь

Именование шаблонов 7

block--[region|[module|--delta]].tpl.php

Базовый шаблон: block.tpl.php

Используется для формирования блоков определённого региона и модуля.

  • block--module--delta.tpl.php
  • block--module.tpl.php
  • block--region.tpl.php

module — название модуля.
delta — внутренний ID назначенный блоку модулем.
region — имеет эффект для обозначенного региона.

Например, шаблон block--block--1.tpl.php будет использоваться для первого самостоятельно добавленного через интерфейс сайта на странице «Структура — Блоки» блока, потому что он создан модулем block и его ID=1. Параметр region будет действовать для определённых регионов, например шаблон для региона sidebar_first будет называться block--sidebar_first.tpl.php.

Если блок создан пользовательским модулем с названием custom и его дельта my-block, то его шаблон будет называться block--custom--my-block.tpl.php.

Ещё один пример для видов. Если блок создан модулем Views с системным названием front_news и его ID block_1, то шаблон для него будет называться block--views--front-news-block-1.tpl.php (отметьте, что знак подчёркивания в ID или названии вида нужно заменить дефисом).

Название модуля является регистрозависимым, поэтому, если модуль называется MyModule, то шаблон для него должен именоваться как block--MyModule.tpl.php.

comment--node-[type].tpl.php

Базовый шаблон: comment.tpl.php

Используется для формирования комментариев документов определённого типа.

Например, для комментариев добавленных к типу документов article шаблон будет именоваться comment--node-article.tpl.php.

comment-wrapper--node-[type].tpl.php

Базовый шаблон: comment-wrapper.tpl.php

Используется для формирования обёрток комментариев документов определённого типа.

field--[type|name[--content-type]|content-type].tpl.php

Базовый шаблон: field.tpl.php

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

  • field--field-name--content-type.tpl.php
  • field--content-type.tpl.php
  • field--field-name.tpl.php
  • field--field-type.tpl.php

Отметьте: знак подчёркивания из системного названия поля заменяется в названии шаблона знаком дефиса. Не забывайте включать field- в пользовательские имена полей, например: field--field-phone.tpl.php.

forums--[[container|topic]--forumID].tpl.php

Базовый шаблон: forums.tpl.php

Используется для формирования форумов, контейнеров и тем форумов.

Для контейнеров:

  • forums--containers--forumID.tpl.php
  • forums--forumID.tpl.php
  • forums--containers.tpl.php

Для тем форумов (обсуждений, дискуссий):

  • forums--topics--forumID.tpl.php
  • forums--forumID.tpl.php
  • forums--topics.tpl.php

html.tpl.php

Базовый шаблон: html.tpl.php

  • html--[internal|view/path[.tpl.php
  • html--node--id.tpl.php

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

Базовый шаблон: maintenance-page.tpl.php

Используется для формирования страницы, при неудачном обращении к базе данных. Удобен для вывода страницы без сообщений об ошибках.

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

Базовый шаблон: node.tpl.php

Используется для формирования области содержания документов определённого типа.

  • node--nodeID.tpl.php
  • node--type.tpl.php
  • node.tpl.php

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

Базовый шаблон: page.tpl.php

Основан на внутреннем адресе страницы, не путайте с альтернативным адресом. Не забывайте, что первая страница сайта может быть определена на странице Управление → Конфигурация → Система - Информация о сайте. Путь, который установлен на этой странице всегда вызовет page--front.tpl.php.

Если вы находитесь на странице example.com/node/1/edit, то шаблоны будут искаться в следующей последовательности:

  • page--node--edit.tpl.php
  • page--node--1.tpl.php
  • page--node.tpl.php
  • page.tpl.php

poll-results--[block].tpl.php

Базовый шаблон: poll-results.tpl.php

poll-vote--[block].tpl.php

Базовый шаблон: poll-vote.tpl.php

В отличие от предыдущего, действие распространяется не на результаты опроса, а на форму голосования.

poll-bar--[block].tpl.php

Базовый шаблон: poll-bar.tpl.php

Также как poll-vote--[block].tpl.php, но используется для формирования отдельных строк (полосок, баров).

profile-wrapper--[field].tpl.php

Базовый шаблон: profile-wrapper.tpl.php

Используется для общей страницы со списком участников. Для просмотра определённых полей, например страницы drupal.org/profile/country/Russia используйте шаблон profile-wrapper--country.tpl.php.

region--[region].tpl.php

Базовый шаблон: region.tpl.php

Шаблон используется когда в регионе страницы есть содержание. Названия регионов определяются в файл .info.

search-results--[searchType].tpl.php

Базовый шаблон: search-results.tpl.php

Обёртка для результатов поиска. Зависит от того, что ищется, страницы документов или страницы пользователей.

Примеры:

Для страницы example.com/search/node/Search+Term будет использоваться шаблон search-results--node.tpl.php.
Для страницы example.com/search/user/Bob будет использоваться шаблон search-results--user.tpl.php.

search-result--[searchType].tpl.php

Базовый шаблон: search-result.tpl.php

В отличие от предыдущего, действие распространяется на отдельный результат поиска.

taxonomy-term--[vocabulary-machine-name|tid].tpl.php

Базовый шаблон: taxonomy-term.tpl.php

  • taxonomy-term--TID.tpl.php
  • taxonomy-term--vocabulary-machine-name.tpl.php
  • taxonomy-term.tpl.php

Отметьте: знак подчёркивания в системном названии словаря заменяется знаком дефиса.

Добавление page.tpl.php зависит от типа содержания. В Друпале 7 это можно сделать используя функцию [СИСТЕМНОЕ-НАЗВАНИЕ-ТЕМЫ]_preprocess_page в файле template.php.

function [СИСТЕМНОЕ-НАЗВАНИЕ-ТЕМЫ]_preprocess_page(&$variables) {
  if (isset($variables['node']->type)) {
   // If the content type's machine name is "my_machine_name" the file
   // name will be "page--my-machine-name.tpl.php".
   $variables['theme_hook_suggestions'][] = 'page__' . $variables['node']->type;
   }
}