2011-04-15 143 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