Программный вывод блоков в CMS Drupal 7

Аватар пользователя artur.baranok
Опубликовано вт, 07/14/2015 - 14:29 пользователем artur.baranok
Форумы: 

Вывод произвольных блоков в любом количестве на заданные регионы темы оформления Drupal программным путем очень удобно использовать, если вам необходимо отобразить блок в теле определенной ноды или других регионах.

Для этого можно использовать следующую конструкцию module_invoke(). Пример вывода формы авторизации Drupal 7 в ноде

<?php
$module_name = 'user';   // - имя модуля, который отвечает за реализацию
$block_delta = 'login'; // - уникальный идентификатор блока в пределах модуля
$block = module_invoke($module_name, 'block_view', $block_delta);
print render($block['content']); // - вывод собранного блока на сайте
?>

Последнее, в чем необходимо разобраться - это именование названия модуля и дельта модуля.

Определение "Module Name" и "Delta block"

Самый правильный путь зайти в phpmyadmin базы данных mysql и найти таблицу block, в ней и будет отражено название полей module и delta.

Второй более простой способ, зайти в панель редактирования блока и найти в адресной строке браузера данные параметры.

Пример, admin/structure/block/manage/user/login/configure

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

CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.