在hook_menu中插入了新的菜单项。但是菜单项不会被反映出来。因此,在模块中,我添加了如下语句
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
我怎样才能纠正这个问题。
发布于 2011-04-15 18:40:30
在hook_menu()中创建新菜单项后,是否刷新了菜单缓存?如果你想要评估你的新菜单项,这是必须的。
关于hook_menu_alter()中的代码片段,您没有正确地更改菜单项,或者重写了菜单项的全部属性(标题、页面回调、访问回调等),或者只覆盖了一个属性(例如您对访问回调所做的操作)。如果你想覆盖两个属性,你必须这样做:
$items['archives/faculty_article']['access callback'] = 'user_access';
$items['archives/faculty_article']['access arguments'] = array('view');在实现hook_menu_alter()之后,您还必须刷新缓存。
这是针对问题1的。对于问题2,这意味着您没有正确安装nodeword,请尝试禁用它,卸载它,然后重新启用它以尝试修复该问题。它应该会为您重新创建该表。
https://stackoverflow.com/questions/5675367
复制相似问题