2011-04-15 139 views
0

在hook_menu中插入新的菜单项。但是菜单项没有被反映出来。因此,在模块我加入了语句Drupal访问管理面板被拒绝

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

我怎样才能纠正问题。

回答

1

在hook_menu()中创建新的菜单项后,是否刷新了菜单缓存?如果你想要评估你的新菜单条目,这是强制性的。你不改变菜单项,或者你重写项目的全部属性(标题,页面回调,访问回调等),或者你只是覆盖一个属性(比如就像你为访问回调所做的那样)。 如果要覆盖两个属性,你必须做这样的事情:

$items['archives/faculty_article']['access callback'] = 'user_access'; 
$items['archives/faculty_article']['access arguments'] = array('view'); 

实施hook_menu_alter(后),您也必须刷新你的缓存。

这是针对问题1.对于问题2,这意味着您没有正确安装节点字,试图禁用它,卸载它,然后重新启用它来尝试修复问题。它应该为你重新创建表格。

+0

谢谢。新闻到drupal。我如何刷新缓存。我试过drupal_flush_all_caches();.然后管理面板访问也被拒绝。 – prdrupal 2011-04-15 10:58:34

+0

要刷新缓存,请转至admin/settings/performance,在页面底部有一个按钮来清空缓存。 如果您使用admin_menu模块,您有一个快捷方式来刷新drupalicon菜单项上的缓存(第一个左上角) – Artusamak 2011-04-15 11:00:29

+0

管理员访问被拒绝我如何刷新缓存或启用或重新启用节点词 – prdrupal 2011-04-15 11:16:35