517
Программный вывод блоков в CMS Drupal 7
Вывод произвольных блоков в любом количестве на заданные регионы темы оформления 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
Я использовал еще вот такой код:
<?php
$block = _block_get_renderable_array(_block_render_blocks(array(block_load('webform', 'client-block-69'))));
print render($block);
?>
Здравствуйте! Очень интересная информация...
Хотелось бы поподробнее... описание метода...