【问题标题】:drupal hook functions and their argumentsdrupal 钩子函数及其参数
【发布时间】:2009-08-07 17:49:31
【问题描述】:

我现在正在阅读 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 中看到的任何函数执行此操作。

提前感谢您的帮助!

【问题讨论】:

  • 非常感谢您的帮助。谢谢!

标签: php drupal drupal-6 drupal-modules


【解决方案1】:

如果你访问 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参数的内容明确列在Parameters下。

【讨论】:

    【解决方案2】:

    如果您使用的是开发模块,我想抛出一个

    dsm($item)
    

    在那里查看 $item 当前包含的内容。它打印了一个很好的交互式数组/对象导航器。

    当然,您仍然需要访问 API 来查找所有可能性,因为这仅显示当前设置的内容。但它通常包含足够的内容来获得我正在寻找的内容。

    【讨论】:

      【解决方案3】:

      使用 API 文档或显示变量都是获取信息的好工具。它们都有各自的优点,当您在调试并想查看发生了什么时,使用 devel 最有用。成为一名优秀的 drupal 开发人员的很大一部分是不知道一切,但更能够追踪相关信息。有时查看代码或其他人的代码也很有用。当你想做类似的事情时,看看别人是如何做事的,有时会很有帮助。谷歌也可以是一个很好的工具或与某人讨论问题。有很多可能性,你只需要学习如何使用这些工具并使用对你有用的东西。在 api.drupal.org 上花费更多时间后,您确实可以更好地提取信息。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-03-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-20
        • 2014-09-27
        • 1970-01-01
        相关资源
        最近更新 更多