Drupal блоки: как задать расширенные параметры — регион и т.п.

Заметка посвящена освещению такого вопроса, как программное задание региона темы и страниц сайта, на которых блок будет отображаться.

Итак, все необходимые для вышеописанного параметры вы можете задать в функции-крючке под названием HOOK_block_info(). Вот пример использования оного:

function RedBookCmsRu_block_info() {
    $blocks = array();
    $blocks['RedBookCmsRu_custom_block1'] = array(
        'info' => 'Этот блок что-то делает, тра-та-та',
        'region' => 'content',
        'status' => 1,
        'visibility' => BLOCK_VISIBILITY_LISTED,
        'pages' => "node/234234\nmy/custom/path/*",
        'weight' => '-20',
    );

    /*
     * $blocks['RedBookCmsRu_custom_block2'] = array(
     *    ...
     * );
     *
     * $blocks['RedBookCmsRu_custom_block3'] = array(
     *    ...
     * );
     * ...
     */

    return $blocks;
}

Дополнительная информация:

  • 'region' => 'content' — указываем машинное имя региона темы (то, которое в info-файле задается), в данном случае это content.
  • 'visibility' => BLOCK_VISIBILITY_LISTED — задаем параметры видимости друпаловского «виджета». Константа BLOCK_VISIBILITY_LISTED указывает на то, что последний будет отображаться только на заданных / перечисленных программистом страницах. Во многом аналогична, но противоположна по значению BLOCK_VISIBILITY_NOTLISTED.
  • 'pages' => "node/234234\nmy/custom/path/*" — задаем список страниц, где должен отображаться или не отображаться наш блок. Применительно к текущему примеру это пути node/234234 и my/custom/path/. \n, как нетрудно понять обозначает перенос строки.
  • 'weight' => '-20' — вес элемента, т.е., где он будет показан (выше или ниже остальных).

Материал актуален применительно к Drupal 7.xx.

P.S. В общем все тоже самое, что задается через админку пользователем вручную. Только программно.

Опубликовано 1-01-2014 в 21:31


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>











Свежие комментарии

  • krasnov8953: к записи Не работает как мне кажется строчка $newTvId = $ »
  • Dimanski: к записи ничего не понимаю. Ставлю ModX на хостинг r01.ru »
  • Дмитрий: к записи Спасибо! Очень выручили. С битриксом беда, а прав »
  • леонид: к записи как сделать что были в ряд? у меня получается по о »
  • Администратор: к записи Статический IP. »
  • Steel: к записи Администратор, вы данную проблему решили подключен »
  • Дмитрий: к записи Хотел узнать как прикрутить данное окно (http://re »

Последние твиты