Один шаблон на несколько типов node

И так как я уже сказал будем применять один файл темизации node для нескольких типов материалов.

Для начала определим функцию THEMENAME_preprocess_node(&$vars) и укажем какие типы материалов нам нужно в один темплейт запихнуть.

 

function exa_preprocess_node(&$vars) {
    $node = $vars['node'];
$types = array('actions','news','articles','recepts' );
    if(in_array($node->type, $types)){
       # Здесь будет код определяющий шаблон для указанных типов материалов.
    }
}

И так теперь мы определили нужные типы материалов, нужно указать системе темизации друпала чтоб он в первую очередь проверял нужный нам шаблон ноды. Это сделать не так уж сложно.

function exa_preprocess_node(&$vars) {
    $node = $vars['node'];
$types = array('actions','news','articles','recepts' );
    if(in_array($node->type, $types)){
       $vars['theme_hook_suggestions'][]  = 'node__atr'; #Эта строчка определит шаблон для темизации
    }
}

Нам осталось создать в папке с темой файл node—atr.tpl.php и сбросить кеш.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *