我现在正在阅读Pro Drupal开发,第82页的示例使用以下函数:
function menufun_menu_link_alter(&$item, $menu){
if ($item['link_path'] == 'logout'){
$item['link_title'] = 'Sign off';
}
}
据我所知,通过查看api.drupal.org,我可以找出“hook_menu_link_alter”的参数。我不明白的是我应该如何找出$ item实际包含的内容。在这个例子中,$ item ['link_path']和$ item ['link_title']都被使用 - 他怎么知道它们存在?
当然,我不仅对这个具体的例子感兴趣。我希望能够为我在drupal中看到的任何函数执行此操作。
提前感谢您的帮助!
答案 0 :(得分:6)
如果你去了api.drupal.org并查了hook_menu_link_alter
,你会看到这个页面:
http://api.drupal.org/api/function/hook_menu_link_alter/6
其中包括以下注释:
“$item
关联数组,定义传递给menu_link_save()
的菜单链接。”
如果您点击menu_link_save
页面的链接,就会在这里:
http://api.drupal.org/api/function/menu_link_save/6
$item
参数的内容明确列在参数下。
答案 1 :(得分:4)
如果您正在使用Devel模块,我想抛出一个
dsm($item)
在那里查看$ item目前包含的内容。它打印出一个漂亮的交互式数组/对象导航器。
当然,你仍然需要去API查找所有可能性,因为这只显示了当前设置的内容。但它通常包含足以得到我正在寻找的东西。
答案 2 :(得分:0)
使用API文档或显示变量都是获取信息的好工具。它们都有它们的优点,使用devel在调试时非常有用,并且想看看发生了什么。成为一个优秀的drupal开发人员的一个重要部分是不知道所有事情,但更多的是能够追踪相关信息。有时,查看其他人的代码或代码也很有用。当你想做类似的事情时,看看别人如何做事有时会有很多帮助。谷歌也可以成为一个好工具或与某个人讨论问题。有许多可能性,您只需要学习如何使用这些工具并使用适合您的工具。在api.drupal.org上花了更多时间之后,你可以更好地提取信息。