Как создать отдельный шаблон для определенного типа материалов

Главные вкладки

Аватар пользователя alex-litvinov alex-litvinov 3 июля 2018 в 12:20

Возникла необходимо создать отдельный шаблон для статей/новостей на сайте
Основной шаблон: photography_zymphonies_theme
Создан отдельный шаблон: page--news.tpl.php, программное название материала news
в файл template.php, добавляю этот код:

function mytheme_preprocess_page(&$vars, $hook) {
    if (isset($vars['node'])) {
        $vars['theme_hook_suggestions'][] = 'page__'. str_replace('_', '--', $vars['node']->type);
    }
}

Сайт в конечно счете выкидывает 500 ошибку, может я что то пропустил?

Лучший ответ

Аватар пользователя Semantics Semantics 3 июля 2018 в 12:33

500-ая ошибка просто так не выбрасывается.
Кроме этого, в логах всегда есть причина.
Без логов - даже не всякая Ванга возьмётся, но я возьмусь.

У вас в теме уже объявлена функция mytheme_preprocess_page()
Вам это условие туда надо дописывать

Комментарии

Аватар пользователя Semantics Semantics 3 июля 2018 в 12:33

500-ая ошибка просто так не выбрасывается.
Кроме этого, в логах всегда есть причина.
Без логов - даже не всякая Ванга возьмётся, но я возьмусь.

У вас в теме уже объявлена функция mytheme_preprocess_page()
Вам это условие туда надо дописывать

Аватар пользователя Olegars Olegars 3 июля 2018 в 14:25

function mytheme_preprocess_page(&$vars, $hook)
вмето mytheme название темы, $hook - убрать
и вместо вашей строки вот так
$vars['theme_hook_suggestions'][] = 'page__type__'. $vars['node']->type;
шаблон будет page--type--news.tpl.php