【问题标题】:Drupal module menu item not showing in menu primary-linksDrupal 模块菜单项未显示在菜单主链接中
【发布时间】:2011-04-30 04:29:26
【问题描述】:

我正在尝试让菜单项显示在“主要链接”中。

我已阅读 this,但这不起作用。我做错了什么?

/**
 * Implementation of hook_menu().
 */
function modulename_menu() {
    $items = array();

    $items['test'] = array(
            'title' => t('test'),
            'description' => 'some description',
            'page callback' => 'modulename_function',
            'access callback' => TRUE,
            'type' => MENU_NORMAL_ITEM,
            'menu_name' => 'primary-links',
    );

    return $items;
}

所以我希望“测试”出现在我的其他主要链接旁边。

我将“主要链接”块添加到标题并以 user/1 身份登录,但菜单或标题栏中仍然没有显示“测试”链接。

将 Drupal 6.x 与 Garland 主题结合使用。

【问题讨论】:

    标签: php drupal hook-menu


    【解决方案1】:

    添加模块菜单时,您必须手动运行 menu_rebuild() 函数或访问 admin->build->modules 的模块页面(访问此页面运行 menu_rebuild 函数)然后清除缓存。似乎 Drupal 应该只在添加菜单项时显示它们,但即使关闭缓存,它们也会被缓存:缓存仅适用于内容。每次添加或更改菜单项时都必须这样做。

    总结:

    1. 模块页面上的硬刷新
    2. 清除缓存。

    这个人也写过:http://data.agaric.com/node/1818

    【讨论】:

    • 谢谢!我访问了 admin/build/modules,然后使用 devel 模块清除了缓存,并且链接显示出来了 :) 我不知道您已经运行了 menu_rebuild() 函数。
    • 是的,这有点糟糕,但他们这样做是出于性能原因。
    【解决方案2】:

    正如在 Andrews 链接的评论中所说。

    使用开发模块并使用“重建菜单”链接是一种更简单的方法 它的作用基本相同,但现在只需单击鼠标即可;)

    如果你没有安装devel,去安装吧!如果您正在开发模块,它是一个方便(或必须拥有)的工具。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-01
      • 1970-01-01
      • 2012-04-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多