【发布时间】:2010-11-19 02:23:38
【问题描述】:
我有一个节点 ID。在我的代码中,我想使用节点的标准模板将此节点输出到屏幕。如何将节点打印到屏幕上?
【问题讨论】:
我有一个节点 ID。在我的代码中,我想使用节点的标准模板将此节点输出到屏幕。如何将节点打印到屏幕上?
【问题讨论】:
如果您只想查看对象结构,则 print_r() 可以正常工作(并且使用 devel 模块,通过 krumo 传递该输出的 dpm() 函数会更好)。
要查看节点的渲染版本,您应该调用用于获取节点对象的 Drupal API 函数并运行用于生成节点输出的所有处理和主题例程。在这种情况下,它是node_view():
node_view(node_load(###));
【讨论】:
既然要使用“节点的标准模板”,我建议你加载节点,然后使用node_view命令。
我个人认为这是一种很好的做法,我在所有网站上都经常使用它。这使我的主题保持在默认的 drupal 节点主题文件(node-node_type.tpl.php)中
例子:
$nid = 123;
$node = node_load($nid);
$node_tpl_output = node_view($node);
print $node_tpl_output; // the rendering of node-node_type.tpl.php
*(请注意,node_view 的第二个参数是用于使用预告片的布尔值,它为您提供更多控制权,允许您使用 node-node_type-teaser.tpl.php)*
如果您正在希望显示节点内容以用于开发目的,毫无疑问您应该使用“Devel" module”,这将允许您使用以下适用于任何数组、对象、var 等:
dpm($node);
此函数显示您的所有节点信息,并通过 Krumo 库轻松导航,这使得调试诸如 $views 之类的疯狂对象成为可能(通过 print_r 是不可能的)
【讨论】:
【讨论】: