Вывод региона в шаблоне ноды
Всем известно, что регионы используются, как контейнеры для блоков. Если необходимо определить регион прямо в шаблоне ноды(node.tpl.php или node--node[Id].tpl.php или node--node-type.tpl.php), для дальнейшего вывода блоков прямо в структуре ноды, без затрагивания шаблона общей страницы(page.tpl.php), вам поможет нижеследующий мини мануал:
1. Как обычно, в *.info файле нашей темы определяем будущий регион:
regions[test] = Тестовый регион
2. В template.php нашей темы вызываем хук - hook_preprocess_node():
<?php
/**
* Implements template_preprocess_node().
*/
function ThemeName_preprocess_node(&$vars) {
if (
$test = block_get_blocks_by_region('test')) {
$vars['test'] = $test;
}
}
?>
где, ThemeName - название вашей темы, а "test", во всех проявлениях (с "$" и без) - это название ранее зарегистрированного нами региона в *.info файле, см. пункт 1.
3. Далее, вновь созданный регион выводим в нужном нам шаблоне ноды:
<?php
if (isset($test)){
print render($test);
}
?>
4. Сбрасываем кэш, создаем новый блок, размещаем в новом регионе. PROFIT!