Drupal 7
Вывести только контент блока:
$block = module_invoke($module_name, 'block_view', $block_delta);
echo render($block['content']);
Вывести блок полностью с заголовком и контекстными ссылками:
$block = block_load($module_name, $block_delta);
$block = _block_render_blocks(array($block));
$block_build = _block_get_renderable_array($block);
echo drupal_render($block_build);
Есть древовидный словарь таксономии. Нужно на странице catalog/%
вывести контент у термина указанного в адресе и всех его дочерних терминов.
Вариант 1
Если заранее известна максимальная глубина дерева, то можно добавить в представление контекстный фильтр по Content: Has taxonomy term ID (with depth) в котором указать максимальную глубину:
При таком варианте на каждый уровень вложенности создаётся отдельный sql join, что возможно не лучший выход (скриншот).
Вариант 2
Если максимальный уровень заранее неизвестен или хочется избавиться от джоинов, то можно добавить контекстный фильтр по полю термина (в моём случае это "Content: Tags (field_tags)"), отметить опцию Allow multiple values иподменить значение фильтра с помощью кода:
$tids = [$argument];
foreach (taxonomy_get_tree(VID_СЛОВАРЯ, $argument) as $terms) {
$tids[] = $terms->tid;
}
$handler->argument = implode('+', $tids);
return TRUE;
Источник