Я пытаюсь интегрировать с модулем, который использует 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));
Любая помощь будет принята с благодарностью.
Проблема заключалась в том, что в тот момент, когда другой модуль выполнял node_view
функция, это была административная тема, а не публичная тема.
Чтобы устранить эту проблему, я реализовал hook_theme_registry_alter
и поместил пользовательские шаблоны в пользовательский модуль. Таким образом, они будут использоваться независимо от выбранной темы.
Других решений пока нет …