2015-06-04 24 views
0

我在我的drupal7網站(客戶端和用戶1(管理員))有2個用戶。我想要那個客戶端用戶,使用metatag模塊只能訪問1個選項卡(按路徑選項卡)或metatag:上下文節點。 如果我使用功能hook_menu_alter:功能在metatag模塊上的hook_menu_alter

function MODULE_menu_alter(&$items) { 
$items['node']['access callback'] = FALSE; 
} 

將這個否認,客戶端用戶使用該模塊的其他標籤嗎?

所以函數應該是這樣的

function Metatag_menu_alter(&$items) { 
$items['admin/config/search/metatags/settings']['access callback'] = FALSE; 
} 

,如果我錯了糾正我。

謝謝!

回答

2

hook_menu_alter不知道用戶的上下文,那個函數會拒絕所有用戶訪問頁面admin/config/search/metatags/settings 你想要的是實際定義一個回調函數。這部分被稱爲「訪問回調」,因爲菜單路由器回撥到列出的功能來確定某人訪問該頁面時的訪問權限。

function Metatag_menu_alter(&$items) { 
    $items['admin/config/search/metatags/settings']['access callback'] = 'metatag_admin_access'; 
} 

function metatag_admin_access() { 
    global $user; 
    if([check your metatag context]) { 
    // this user is permitted 
    return TRUE; 
    } 
    return FALSE; 
} 
+0

好的,有幫助。謝謝 – Michael