在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);} ?>
该值未显示。这有点令人沮丧..
任何帮助表示赞赏。
干杯!
答案 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'];
然后像普通节点一样使用它。