在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
如何解决问题。
答案 0 :(得分:1)
在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,这意味着您没有正确安装节点字,尝试禁用它,卸载它然后重新启用它以尝试解决问题。它应该为你重新创建表格。