首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >拒绝Drupal访问管理面板

拒绝Drupal访问管理面板
EN

Stack Overflow用户
提问于 2011-04-15 18:27:02
回答 1查看 2.2K关注 0票数 0

在hook_menu中插入了新的菜单项。但是菜单项不会被反映出来。因此,在模块中,我添加了如下语句

代码语言:javascript
运行
复制
function {module_name}_menu_alter(&$items) {
    $items['archives/faculty_article'] = array(
           'access callback'=>'archives_list_faculty_article',
         'access arguments'=>array(1),
        );
    $items['archives/faculty_article']['access callback'] = 'user_access';
}

出现问题1.无法访问管理面板2.用户警告:表'nodewords_custom‘不存在查询:SELECT * FROM nodewords_custom ORDER BY weight ASC

我怎样才能纠正这个问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-04-15 18:40:30

在hook_menu()中创建新菜单项后,是否刷新了菜单缓存?如果你想要评估你的新菜单项,这是必须的。

关于hook_menu_alter()中的代码片段,您没有正确地更改菜单项,或者重写了菜单项的全部属性(标题、页面回调、访问回调等),或者只覆盖了一个属性(例如您对访问回调所做的操作)。如果你想覆盖两个属性,你必须这样做:

代码语言:javascript
运行
复制
$items['archives/faculty_article']['access callback'] = 'user_access';
$items['archives/faculty_article']['access arguments'] = array('view');

在实现hook_menu_alter()之后,您还必须刷新缓存。

这是针对问题1的。对于问题2,这意味着您没有正确安装nodeword,请尝试禁用它,卸载它,然后重新启用它以尝试修复该问题。它应该会为您重新创建该表。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5675367

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档