шаблоны блоков -- объяснения для чайников

Главные вкладки

Аватар пользователя wampa wampa 13 июня 2009 в 19:30

еще один цимес объясни --- насчет объявления шаблонов блоков... ну вот как эти варианты соотностятся, что я либо объявляю блок в админке, а в другом месте -- как файл темлата
ПОЧЕМУ ТАК?
где-то здесь - http://setegnom.com/node/340 -- мало что описано.

Комментарии

Аватар пользователя Алешка Алешка 13 июня 2009 в 22:18

block.tpl.php — это шаблон, который определяет формирование блоков.
Шаблон для ВСЕХ блоков. Вне зависимости откуда и какой шаблон был вызван, будет подгружен block.tpl.php.

Далее работает правило переопределения стандартного шаблона своим в зависимости от чего-то или кого-то. Условия разные. Если конкретный блок надо переопределить, то используем файл block-module-delta.tpl.php со своим шаблоном, где слова module и delta надо заменить на реальные значения от блока (например, block-user-0.tpl.php - шаблон для блока входа пользователя на сайт). Для общего шаблона блока user достаточно использовать шаблон вида block-user.tpl.php.

Еще раз:
1. для общего случая (все блоки) block.tpl.php.
2. для блоков, генерируемых определенным модулем block-module.tpl.php (слово module меняем на название модуля).
3. для частного случая отдельного модуля (специфическая форма в единственном экземпляре) block-module-delta.tpl.php (слово delta меняем на номер блока - узнать можно из кода отображенной странички).

"wampa" wrote:
бъявляю блок в админке, а в другом месте -- как файл темлата

Объявив блок в админке ты создаешь блок и разрешаешь его использование. "В другом месте файл теплейта" нужен для отображения этого блока в определенном виде. Считай, что это html-php-код самого блока. Переопредели его (файлом темплейта), и получишь то, что тебе нужно, а не то, что по-умолчанию в друпале задано.