Продолжаем изучение хуков , сегодня мы затронем хук, который относится к блокам drupal. Хочу сразу вас предупредить, что данный хук лишь описывает создаваемый блок, который доступен из админки сайта, но не выводит контент в блок. Давайте сразу к делу, как создавать модули, думаю знаете, если нет, то читаем вот эту статью. Результатом работы данного хука, будет отображение нашего блока в админке сайта по пути «Структура-> Блоки», но как вы понимаете, без вывода контента на страницу сайта

Теперь к реализации, мой модуль будет называться как drupalfly.
Файл Название_вашего_модуля.info
name = drupalfly description = Lesson new info block package = Other core = 7.x
Файл название_вашего_модуля.module
<?php /** * Implements hook_block_info(). */ function drupalfly_block_info(){ 'info' => t('My first info block'), //внесли обязательное значение ); return $blocks; //вернули результат обратно в переменную }
В примере показана лишь простейшая реализация данного хука, единственным обязательным элементом данного хука является ключ info, который должен принимать какое-то ваше значение. Далее вы можете посмотреть список всех допустимых значений данного хука
- 'cache' – параметры кеширования данного блока, может принимать значения
- DRUPAL_NO_CACHE – блок не кэшируется
- DRUPAL_CACHE_PER_ROLE- кэширование по ролям сайта
- DRUPAL_CACHE_PER_USER – кэширование для каждого пользователя сайта
- DRUPAL_CACHE_PER_PAGE – кэширование для каждой страницы
- DRUPAL_CACHE_GLOBAL – кэширование для всех страниц сразу
- 'properties' - массив с дополнительными данными. Включает элемент 'administrative' - булево значение, указывающее на использование блока в админке
- 'weight' - вес блока
- 'status' - статус блока (1 - включен, 0 - выключен)
- 'region' - регион в котором будет расположен блок
- 'visibility' - флаг видимости, принимает следующие значения:
- BLOCK_VISIBILITY_NOTLISTED – отображает блок на всех страницах, кроме перечисленных
- BLOCK_VISIBILITY_LISTED – отображает блок только на перечисленных страницах
- BLOCK_VISIBILITY_PHP – определяется показ блока через PHP условие
- 'pages' – определяет условия показа блока в соответствии со значением 'visibility'
Комментарии (2)
Покажите, пожалуйста, пример с флагом BLOCK_VISIBILITY_LISTED.