Для программного вывода(в коде темы, вне региона) содержимого любого блока в Drupal 7 используйте конструкции следующих видов:

Вывод пользовательского блока с заголовком и контекстными ссылками

<?php
$block = block_load('block', 1); // выводим блок с ID 1
$output = drupal_render(_block_get_renderable_array(_block_render_blocks(array($block))));
print $output;
?>

Вывод блока корзины Ubercart 3

<?php
$block = block_load('uc_cart', 'cart'); 
$output = drupal_render(_block_get_renderable_array(_block_render_blocks(array($block)))); 
print $output; 
?>

Вывод блока предоставляемого модулем

<?php
// блок поиска по сайту
$block = module_invoke('search', 'block_view');
print render($block['content']);
?>

Вывод блока с меню

С рендером контента:

<?php
$block = block_load("menu", "menu-your-menu-name");
$render_array = _block_get_renderable_array(_block_render_blocks(array($block)));
echo render($render_array);
?>

Без рендера(только содержимое):

<?php
$block = module_invoke('menu', 'block_view', 'menu-your-menu-name'); 
print render($block['content']); 
?>

How to embed Menu Block in a Node by simone960

Вывод блока из Views

<?php
$block = module_invoke('views', 'block_view', '[Your_Block_Name]-block');
print render($block['content']);
?>

Вывод блока Webform

Если необходимо вывести только контент формы

<?php
$block = module_invoke('webform', 'block_view', 'client-block-16'); // заменить на свой ID
print render($block['content']);
?>

Еще один способ

<?php
$block = block_load('webform', 'client-block-71');
$output = drupal_render(_block_get_renderable_array(_block_render_blocks(array($block))));
print $output;
?>

Подробнее о программном выводе блоков https://drupal.org/node/26502


Выразить благодарность

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

Так же, Вы можете перевести любую сумму, которую посчитаете нужной на наш счёт, что сильно мотивирует к написанию новых полезных статей.

Комментарии: