Как мне сделать файл node.tpl.php, который используется только главной страницей в Drupal 7 - PullRequest
4 голосов
/ 26 мая 2011

Я успешно создал страницу - front.tpl.php.

Есть ли аналогичный способ создания экземпляра node.tpl.php, который вызывается только на первой странице?

Это оставило бы основной файл node.tpl.php нетронутым для использования на остальной части сайта и в контенте.

Ответы [ 2 ]

12 голосов
/ 27 мая 2011

Я полагаю, вы ищете что-то вроде ниже. При этом используется функция template_preprocess_node , и этот код принадлежит файлу template.php вашей активной темы:

function YOURTHEME_preprocess_node ( &$vars ) {
    if ($vars["is_front"]) {
        $vars["theme_hook_suggestions"][] = "node__front";
    }
}

, а затем создайте файл шаблона с именем node - front.tpl.php, очистите кэш сайта, и теперь у вас должен быть файл шаблона для узлов, специально отображаемых на первой странице, в то время как ваш оригинальный файл node.tpl.php использоваться везде.

0 голосов
/ 27 мая 2011

это - это самый простой способ, который я нашел, чтобы сделать то, что вы ищете, но кажется, что лучшим способом было бы создать другой "режим просмотра" узла (кроме тизер или полный) и использовать представления или некоторый пользовательский php для создания канала первой страницы, используя node-my_view_mode.tpl.php

...