Как мне назвать файлы шаблонов узлов для моей темы?


Я немного запутался в том, как называть файлы шаблонов. Это первый раз, когда я начал возиться с шаблонами в drupal 7, и почему-то я этого не понимаю.

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

Я попробовал то же самое с Drupal 7, но это не сработало. Я искал ответ и прочитал, что следующая функция должно быть уместно при выборе файлов шаблонов.

function template_preprocess_node(&$variables) {
  ...
// Clean up name so there are no underscores.
  $variables['theme_hook_suggestions'][] = 'node__' . $node->type;
  $variables['theme_hook_suggestions'][] = 'node__' . $node->nid;
}

Я также читал о некотором преобразовании между "-" и "_", потому что "-" нельзя было использовать в именах функций. Поэтому я попробовал несколько вариантов.

node__blog.tpl.php
node--blog.tpl.php
node-blog.tpl.php
node_blog.tpl.php

Ни один из них не распознается Drupal. Что я делаю не так?

 1
Author: kiamlaluno, 2011-04-29

2 answers

Должно работать следующее:

node--blog.tpl.php

Убедитесь, что у вас также есть node.tpl.php в папке вашей темы и что вы очистили кэш.

Смотрите также Предложения по шаблонам страниц не работают для получения дополнительной информации.

 1
Author: Berdir, 2017-04-13 12:47:02

Рад, что вы отказались от добавления пользовательских предложений!

Это хорошо только в том случае, если вы хотите запустить несколько типов узлов через один и тот же шаблон альтернативного узла.

 0
Author: doublejosh, 2011-06-02 09:19:22