【问题标题】:Drupal print node from nid来自nid的Drupal打印节点
【发布时间】:2010-11-19 02:23:38
【问题描述】:

我有一个节点 ID。在我的代码中,我想使用节点的标准模板将此节点输出到屏幕。如何将节点打印到屏幕上?

【问题讨论】:

    标签: drupal drupal-6


    【解决方案1】:

    如果您只想查看对象结构,则 print_r() 可以正常工作(并且使用 devel 模块,通过 krumo 传递该输出的 dpm() 函数会更好)。

    要查看节点的渲染版本,您应该调用用于获取节点对象的 Drupal API 函数并运行用于生成节点输出的所有处理和主题例程。在这种情况下,它是node_view()

    node_view(node_load(###));
    

    【讨论】:

    【解决方案2】:

    既然要使用“节点的标准模板”,我建议你加载节点,然后使用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 是不可能的)

    【讨论】:

      【解决方案3】:
      <?php print_r($node); ?>
      

      将打印整个节点。

      查看这里了解更多详情:http://drupal.org/node/11816

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多