因此,当创建一个Drupal站点时(例如),它是一个非常常见的开发助手,可以在页面顶部打印表单等的变量,例如使用dpm()
(假设安装了devel模块)。
我很难理解所有的方法,以及它们可以使用的上下文。
例如,我可以在我的自定义模块中的hook_form_alter实现中使用dpm($form)
。
现在,如果我查看一个模板,比如说node.tpl.php,我会看到有大量的可用变量用于构建页面。所以如果我选择一个,例如$links,我会认为将<?php dpm($links); ?>
添加到node.tpl.php会为我打印出变量。但是没有!
为什么会这样,我做错了什么?:)
6条答案
按热度按时间sqougxex1#
dpm()
使用drupal_set_message()
。在页面呈现过程中的某个时刻,Drupal打印所有使用此函数设置的消息。你在那之后使用了
dpm()
,因此在这个页面上添加消息已经太晚了。但是你应该在下一个页面或者刷新当前页面之后看到它们。虽然对调试没有帮助。您可能想给予Theme Developer Module。
cx6n0qe32#
如果您向现有模板添加新变量,要查看更改,必须首先刷新Drupal缓存。
Take a look here to know how to flush Drupal cache
cotxawn73#
最简单的方法:
2w3rbyxf4#
dpm()将调试内容放入会话,如果内容太大,则不会显示。
试试
die(kpr($vars));
fnvucqvd5#
显示所有节点变量:
kse8i1jr6#
最简单可行的选择是
其他选项包括