Home → Drupal →

Вывод региона в шаблоне ноды

Опубликовано в вт, 11/04/2014 - 13:37

Всем известно, что регионы используются, как контейнеры для блоков. Если необходимо определить регион прямо в шаблоне ноды(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!

Drupal 7
регионы
блоки
шаблон
нода
hook_preprocess_node

Menu

  • Главная
  • О блоге

Category

Drupal
(15)
Php
(4)
Верстка
(2)
Разное
(2)
© by Conocube / Блогу - 2954 дня