0

我为 drupal 7 编写了一个自定义模块,将文件夹和所需文件放在 /sites/all/modules/module_name 下并通过后端启用。这是我的 hook_menu 函数;

function blog_contact_settings_menu(){
    $items = array();
    $items["blog_contact/send_to_all"] = array(
        "title"=>"Mail all bloggers",
        "page callback"=>"drupal_get_form",
        "page arguments"=>array("blog_contact_page"),
        "access arguments"=>array("access content")
    );
    $items["blog_contact/send_to_one"] = array(
        "page_callback"=>"single_blogger_contact",
        "access_arguments"=>array("access content"),
        "type"=>MENU_CALLBACK
    );
    return $items;
}

我的博客联系人页面应该返回一个带有表单的页面,但是当我转到时/?q=blog_contact/send_to_all,它给出了 404。为什么你们这些小爱因斯坦会发生这种情况?

4

1 回答 1

1
  • 尝试清除缓存(管理 > 配置 > 开发 > 性能 > 清除所有缓存)。
  • 您的 blog_contact_page 函数是否返回表单数组?
  • 根据你的函数名,你的模块的机器名应该是“blog_contact_settings”。没有其他方法会起作用。
  • 您可以通过向您的 hook_menu 函数添加如下代码片段来检查您的函数是否被调用。

    drupal_set_message('钩子菜单功能被触发!');

于 2012-08-14T12:59:43.613 回答