在page.tpl.php中打印$ node vars

时间:2009-12-29 23:57:37

标签: php drupal drupal-6

在Drupal的page.tpl.php中

<?php foreach($node->og_groups as $test) {dpm($test);} ?>

给我 alt text http://img.skitch.com/20091229-ekf6xqg5dxq6cgjsgfty74umfx.jpg

但是当我这样做时

<?php foreach($node->og_groups as $test) {print($test);} ?>

该值未显示。这有点令人沮丧.. 任何帮助表示赞赏。

干杯!

4 个答案:

答案 0 :(得分:3)

建议Steve Michel:尝试在呈现的页面上执行视图源;它可能会出现在HTML的顶部,并且可能在浏览器输出中不可见。

Drupal首先执行所有代码,将输出收集到变量中。最后,这个变量打印出来。如果你打印或var_dump介于两者之间,这将是输出的最顶层(因为这是在打印任何常规内容之前完成的。)

你甚至想出了答案:使用drupal_set_message(dpm是我猜的缩写?)以格式很好的方式插入文本,在页面的内容部分而不是标签之前。

如果您需要打印数组,可以使用dpm(print_r($array, 1)) - 1参数使print_r 返回格式化的输出(并将其传递给{{1}而不是直接打印出来。

答案 1 :(得分:1)

尝试在渲染页面上执行视图源;它可能会出现在HTML的顶部,并且可能在浏览器输出中不可见。

答案 2 :(得分:0)

您可以使用

<?php foreach($node->og_groups as $test) print_r($test) ?>

答案 3 :(得分:0)

你可以这样做:

  

$ node = $ variables ['node'];

然后像普通节点一样使用它。