Block.tpl.php
Этот файл шаблона используется для отображения блоков.
Визуальные переменные
$block->subject : Заголовок блока
$block->content : Отформатированное (html) содержимое блока
Переменные для анализа
Такие переменные не выводятся в виде html-кода. Они помогают верстальщику выводить блоки разным способом, чтобы соседние блоки не были похожи по оформлению дизайна.
$block->region : Регион, в котором расположен блок; значения для Друпал 5.0 и выше - наименование региона (строка). Через анализ этой переменной можно блоки в левой и правой колонке выводить разным способом. Рисовальщик может задать разный дизайн для блоков левой и правой колонок.
$seqid : Порядковый номер блока в пределах текущей страницы; первый по коду блок имеет номер 1, второй - 2 и так далее
$block_seqid : То же самое, что и $seqid, но нумерация отдельная для каждого региона. Можно назначать блокам в колонке последовательно цвета радуги. Или менять плавно менять светлоту блоков при переходе от первого ко второму, третьему, четвертому. Или снижать насыщенность цветов блоков - самый верхний блок имеет насыщенный цвет, а к 7-ому блоку цвет становится серым.
На момент верстания html-кода php-код блока знает только свой порядковый номер в колонке, но не знает сколько всего будет выведено блоков в колонке. Это лишает рисовальщика и верстальщика возможности определить последний блок и закончить переход цветов именно на последнем блоке. Поэтому рисовальщику нужно учитывать, что изменения в дизайне блоков могут быть завершены на любом блоке.
Например, если выводить блоки со сдвигом вправо на 10 пикселей, а через некоторое количество блоков вывести очередной блок без сдвига и после него опять сдвигать блоки вправо, то может оказаться, что будут выведены 5 блоков со сдвигом, 6-ой опять будет прижат влево, а больше блоков не будет.
Если бы знать заранее, что будет именно 6 блоков, то можно было бы сдвигать их через 8 пикселей, тогда они влезли бы все. Или сдвигать их по по 3 штуки. Но общее количество выводимых блоков неизвестно внутри php-кода Block.tpl.php.
Единственные повторные структуры, которые может использовать рисовальщик, это с длиной 2 элемента, см. $block_zebra.
$zebra : Флаг "четный/нечетный" (odd/even); значения - 'odd' (нечетный) или 'even' (четный); глобально в пределах текущей страницы
$block_zebra : То же самое, что и $zebra, но локально в пределах конкретной колонки. Можно чередовать в колонке блоки по цвету. Примерно так же, как это делается для строк таблицы (белые/серые строки). Это уменьшает монотонность блоков в колонках.
Технические переменные
Нужны только верстальщику, рисовальщику их знать не надо.
$block : переменная-объект; далее - поля объекта, доступные для чтения в шаблоне.
Часть полей уже была приведена выше. Перечислим оставшиеся поля.
block->module : Наименование модуля, сгенерировавшего данный блок (к примеру - view)
$block->delta : Порядковый номер блока; этот номер уникален в пределах сайта; генерируется модулем, формирующим данный блок
$block->status : Статус блока (0 - запрещен, 1 - разрешен) - ? так ли это ?.
$block->path : Путь (url "внутри" Друпала), относительно которого разрешен/запрещен данный блок (эти разрешения и запреты устанавливаются на странице настройки конкретного блока)
$block->throttle: Флаг для модуля Throttle (отключать блок или нет при больших нагрузках на сайт).
..........................
Макс Кириленко, подбор названий и доменов