我正在尝试与使用drupal_render(node_view($node));
的模块集成以获取渲染节点。我有一个自定义模板文件node--<type>.tpl.php
,只需查看节点就可以正常工作,但是,当使用node_view
渲染节点时,不使用模板文件,而是使用模块中的核心node.tpl.php
/ node使用。我还实现了hook_preprocess_node
,在这种情况下似乎也没有。
重新创建它的一个简单案例是实现hook_preprocess_node
并包含监视程序消息。然后在devel execute php中执行以下命令:
$node = node_load(<nid>);
print drupal_render(node_view($node));
非常感谢任何帮助。
答案 0 :(得分:1)
问题在于,在其他模块执行node_view
功能时,它使用的是管理主题而不是公共主题。
为了消除此问题,我实施了hook_theme_registry_alter
并将自定义模板放在自定义模块中。这样,无论选择哪个主题,都可以使用它们。