如何为$ primary_nav变量中的每个菜单项提取所有标签和链接的数组?
答案 0 :(得分:0)
您可以只使用php的print_r()
。或使用devel之类的专用模块:它提供了一些帮助程序,可以漂亮地打印变量,包括数组和对象。它还提供了一个明确的缓存按钮,可以生成随机节点等。
我认为devel的dprint_r()
和dpm()
是Drupal开发人员在打印和调试变量时最常用的功能,也是我认为最有用的功能。
在您的情况下,$primary_nav
是经过 处理 的变量:它首先是由注册主题中的函数准备的,然后可以在中进行更改主题和/或模块提供的> 处理 或 预处理 挂钩。
知道了这一点,您可以从正在处理的模板中直接打印出来,例如 page.tpl.php :
<?php if (!empty($primary_nav)): ?>
<!--<?php print render($primary_nav); ?>-->
<?php dpm($primary_nav); ?>
<?php endif; ?>
..或在 process 或 preprocess 函数中“更早”调试它:
function some_preprocess_page(&$variables) {
dpm($variables['primary_nav']);
}
此外,如果您不知道正在发生的事情或模板中可用的变量,将php的get_defined_vars()
与漂亮的打印功能结合使用可能会非常有用:dpm(get_defined_vars());