元标记模块上的函数 hook_menu_alter

function hook_menu_alter on metatag module

我的 drupal7 网站上有 2 个用户(客户端和用户 1(管理员))。我希望使用元标记模块的客户端用户只能访问 1 个选项卡(按路径选项卡)或 metatag:context 节点。 如果我使用函数 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; 
}

如有错误请指正

谢谢!

hook_menu_alter 不知道您的用户的上下文,该功能将拒绝所有用户对该页面的所有访问 admin/config/search/metatags/settings 你想要的是实际定义一个回调函数。这篇文章被称为 "access callback" 因为菜单路由器会回调列出的函数以确定有人访问该页面时的访问权限。

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;
}