Названия и домены

Создание сайтов

Контакты

Последние комментарии

Block.tpl.php, переменные


Изображение пользователя Макс К..
  

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 (отключать блок или нет при больших нагрузках на сайт).

..........................
Макс Кириленко, подбор названий и доменов