УрокНеобходимые файлы для создания шаблона. Block.tpl.php
Ещё один файл, который в 99% темах присутствует - это block.tpl.php. Он отвечает за общую структуру вывода блоков. Я надеюсь, вы используете какую-нибудь программу для просмотра стилей страницы, поскольку без неё будет трудно. Блоки добавляются в регионах через /admin/build/block. Создаваться они могут где угодно (на странице /admin/build/block, через модули, через пхп-код и т.д.), поэтому иногда надо будет узнать - блок это или нет. Обычно если это блок, то контент обёрнут в класс с названием block + другие названия (имя модуля, дополнительные классы и прочее).
Первоначальная структура файла block.tpl.php довольна проста, поэтому я просто приведу её и объясню:
<div id="block-<?php print $block->module .'-'. $block->delta; ?>" class="block block-<?php print $block->module ?>"> <?php if ($block->subject): ?> <h2><?php print $block->subject; ?></h2> <?php endif;?> <div class="content"> <?php print $block->content; ?> </div> </div>
Следующие строки проверяют, задан ли в настройках блока заголовок, и если задан - выводят его, обернув в тэг H2:
<?php if ($block->subject): ?> <h2><?php print $block->subject; ?></h2> <?php endif;?>
А эти строки уже сразу выводят содержимое блока не проверяя, пустое ли оно, т.к. если блок создан, то у него уже есть контент, хотя и пустой. И если контента не будет, то просто выведется класс content:
<div class="content"> <?php print $block->content; ?> </div>
Теперь я приведу стандартные переменные, которые могут использоваться в этом файле:
Общие переменные:
- $block->subject - заголовок блока
- $block->content - содержимое блока
- $block->module - имя модуля, с помощью которого был создан блок. Если он был создан не модулем, то переменная будет пустая
- $block->delta - уникальный идентификатор, который имеет каждый блок
- $block->region - название региона, в который поместили блок
Вспомогательные переменные:
- $block_zebra - добавляет класс 'odd' или 'even' в зависимости от чётности блока внутри региона
- $zebra добавляет класс 'odd' или 'even' в зависимости от чётности блока, но теперь считается не от начала блока, а глобально
- $block_id - показывает уникальный идентификатор блока внутри региона
- $id - показывает глобальный уникальный идентификатор блока
- $is_front - возвращает "ИСТИНА", если блок находится на главной странице
- $logged_in - возвращает "ИСТИНА", если пользователь залогинен
- $is_admin - возвращает "ИСТИНА", если пользователь - администратор
По большому счёту, файлы page.tpl.php и block.tpl.php хоть и являются необязательными, но находятся внутри практически каждого шаблона. Бывают исключения, но они крайне редкие.
- Spleshka
- 07.08.2010
- 17264
Комментарии
>> По большому счёту, файлы page.tpl.php и block.tpl.php хоть и являются обязательными, но находятся внутри практически каждого шаблона.
Имелось в виду - "хоть и НЕ являются обязательными, но находятся внутри"?
Именно это и имелось ввиду :) Спасибо, исправил
хоть и не являются необязательными, но находятся внутри
некошерно.
А какую программу можно исспользовать для просмотра стилей страницы?
Например firebug для браузера firefox. На мой взгляд - лучший.
Спасибо!
Пригодилось!
Комментировать