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

Я пытаюсь интегрировать с модулем, который использует drupal_render(node_view($node)); получить визуализированный узел. У меня есть пользовательский файл шаблона node--<type>.tpl.php это прекрасно работает при простом просмотре узла, однако, когда узел отображается с использованием node_view файл шаблона не используется, вместо основного node.tpl.php в модулях / узлах используется. Я также реализовал hook_preprocess_node который в этом случае тоже не срабатывает.

Простой случай, чтобы воссоздать это было бы реализовать hook_preprocess_node и включить сторожевое сообщение. Затем выполните следующее в devel execute php:

$node = node_load(<nid>);
print drupal_render(node_view($node));

Любая помощь будет принята с благодарностью.

1

Решение

Проблема заключалась в том, что в тот момент, когда другой модуль выполнял node_view функция, это была административная тема, а не публичная тема.

Чтобы устранить эту проблему, я реализовал hook_theme_registry_alter и поместил пользовательские шаблоны в пользовательский модуль. Таким образом, они будут использоваться независимо от выбранной темы.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]