Созонов Алексей

Веб-разработчик

Переопределить шаблон по типу содержимого

09.08.2015

Часто в drupal 7 требуется переопределить шаблон page.tpl.php или html.tpl.php по типу содержимого. Делается это вот так:

function yourthemename_preprocess_page(&$vars)
{
 if (isset($vars['node']->type)) {
   $vars['theme_hook_suggestions'][] = 'page__' . $vars['node']->type;
 } 
}

тогда новый шаблон page.tpl.php будет иметь имя page–content-type.tpl.php

function yourthemename_preprocess_html(&$vars) { 

    $node = menu_get_object();

    if ($node && $node->nid) {
        $vars['theme_hook_suggestions'][] = 'html__' . $node->type;
    }

}

тогда новый шаблон html.tpl.php будет иметь имя html–content-type.tpl.php

#Drupal