W moim pliku template.php dla mojej kompozycji próbowałem:
function media_preprocess_page(&$vars, $hook) {
if (isset($vars['node']))
{
// If the node type is "blog" the template suggestion will be "html--blog.tpl.php".
$vars['theme_hook_suggestions'][] = 'html__'.$vars['node']->type;
// If the node type is "blog" the template suggestion will be "page--blog.tpl.php".
$vars['theme_hook_suggestions'][] = 'page__'.$vars['node']->type;
// If the node id is "33" the template suggestion will be "page--33.tpl.php".
$vars['theme_hook_suggestions'][] = 'page__'.$vars['node']->nid;
}
//Create page suggestion for first part of url-alias
$url_alias = drupal_get_path_alias($_GET['q']);
$parts = explode('/', $url_alias);
$vars['theme_hook_suggestions'][] = 'page__'.$parts[0].'__alias';
}
Działa to dla strony - nodetype.tpl.php, ale nie dla html - nodetype.tpl.php
Być może pytasz, dlaczego musisz zastąpić szablon html.tpl.php dla każdego typu węzła. Jest tak, ponieważ istnieją znaczniki, których nie chcę uwzględniać dla tego konkretnego węzła.