Речь пойдет о том, как добавить в стандартный список имен шаблонов свой шаблон, который обрабатывается шаблонизатором drupal, для конкретного «своего» случая.
Начать нужно с того, что здесь описаны стандартные имена шаблонов для семерки. Имена шаблонов отличаются от 6й версии, возможно, с той целью, чтобы была возможность создать тему сразу для нескольких версий движка, с не пересекающимися именами файлов. Но это лишь моё предположение.
Там же в комментариях даны примеры для подключения шаблонов для D6 и D7. Они отличаются названием переменной списка имен шаблонов, для 7ки — это «theme_hook_suggestions»
1 2 3 4 5 6 7 8 |
<?php function themeName_preprocess_page(&$vars, $hook) { if (isset($vars['node'])) { // If the node type is "blog" the template suggestion will be "page--blog.tpl.php". $vars['theme_hook_suggestions'][] = 'page__'. str_replace('_', '--', $vars['node']->type); } } ?> |
Не очень ясно зачем переименовывать переменную этого списка. Наверняка, есть какие то причины. Объект «node» содержит весь набор полей, так что можно соорудить любое интересное в контексте вашей задачи условие и подключить соответствующий файл шаблона.