Урок - Темизация блоков в Drupal 7. Шаблон block.tpl.php.

Главная » Курсы » Курс Drupal 7, Темизация для зайцев. » Урок - Темизация блоков в Drupal 7. Шаблон block.tpl.php.

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

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

Базовым шаблоном для блоков в Drupal 7 является файл block.tpl.php. Оригинальный файл block.tpl.php находится в ./modules/block/block.tpl.php.

В файле block.tpl.php задается шаблон-обертка при выводе заголовка и содержимого блока.

Для более гибкой темизации на уровне шаблонов Drupal 7 предоставляет несколько дополнительных шаблонов:

  • Шаблон блока вида block--<module>--<delta>.tpl.php
    где
    <module> - название модуля, в котором определен блок.
    <delta> - идентификатор блока в рамках блока, в котором блок определен.

    Шаблон указаный в формате block--<module>--<delta>.tpl.php позволяет указать шаблон для одного блока.

    Например:
    Шаблон block--user--login.tpl.php будет отвечать за шаблонизацию для блока пользовательской авторизации.
    Шаблон block--block--3.tpl.php будет отвечать за шаблонизацию для блока созданного на странице Блоки с id=3.
    Шаблон block--search--form.tpl.php будет отвечать за шаблонизацию блока формы поиска.
  • Шаблон блока вида block--<module>.tpl.php
    где
    <module> - название модуля, в котором определен блок.

    Шаблон указаный в формате block--<module>.tpl.php позволяет указать шаблон для всех блоков одного модуля.

    Например:
    Шаблон block--user.tpl.php будет отвечать за шаблонизацию блоков модуля user. У модуля user определено три блока: авторизация(login), новые пользователи (new), пользователи онлайн (online).
    Шаблон block--block.tpl.php будет отвечать за шаблонизацию блоков модуля block.
    Шаблон block--search.tpl.php будет отвечать за шаблонизацию блоков модуля search.
  • Шаблон блока вида block--<region>.tpl.php
    где
    <region> - название региона, в котором определен блок.

    Шаблон указаный в формате block--<region>.tpl.php позволяет указать шаблон для всех блоков одного региона.

    Например:
    Шаблон block--header.tpl.php будет отвечать за шаблонизацию блоков в регионе header.

В Drupal 7 используется следующий приоритет шаблонов блоков:

  • первым ищется шаблон блока вида block--<module>--<delta>.tpl.php в папке текущей темы.
  • если не найден block--<module>--<delta>.tpl.php, то ищется block--<module>.tpl.php в папке текущей темы.
  • если не найдены предыдущие шаблоны блоков, то ищется шаблон блока вида block--<module>--<delta>.tpl.php в папке текущей темы.
  • если не найдены предыдущие шаблоны блоков, то ищется шаблон блока block.tpl.php в папке текущей темы.
  • если в папке темы не найдены шаблоны блок, то используется файл ./modules/block.block.tpl.php.