gpt4 book ai didi

Drupal - 通过自定义权限切换菜单项的可见性

转载 作者:行者123 更新时间:2023-12-04 05:47:29 25 4
gpt4 key购买 nike

我目前正在使用 Drupal 7,并且正在编写自定义代码,以便具有特定权限(“使用业务仪表板”)的用户应该在他们的主菜单中看到一个菜单项。问题是只有我(管理员)可以看到这个菜单项。我已经能够在权限页面上创建自定义权限,并将其设置为授予“管理员”和我的用户特定角色的访问权限,并实现了以下代码(不要介意代替模块名称的“xxxxxx”,我现在宁愿保持匿名,但只知道它们都代替了机器可读的模块名称):

function xxxxxx_menu(){
$items = array();

$items['xxxxxxx'] = array(
'title' => 'Business Owner Dashboard',
'page callback' => '_xxxxxx_page',
'access arguments' => array('use business dashboard'),
'type' => MENU_NORMAL_ITEM,
);
return $items;
}

function xxxxxx_permission(){
return array(
'use business dashboard' => array(
'title' => t('Have access to business dashboard'),
'description' => t('Allow user to send out SMS messages via database query forms'),
),
);
}

当我以具有“使用业务仪表板”的角色特定权限的测试用户身份登录时,我看不到菜单项。我确信这非常简单,但我已经在谷歌上搜索并在代码上搜索了好几个小时。任何帮助将不胜感激!

最佳答案

这个也想不通。您能否尝试分解访问回调,如果它不起作用,至少它会给您一个关于正在发生的事情的提示。

你的代码可以是这样的:

function xxxxxx_menu(){
$items = array();

$items['xxxxxxx'] = array(
'title' => 'Business Owner Dashboard',
'page callback' => '_xxxxxx_page',
'access callback' => 'my_custom_access_callback',
'type' => MENU_NORMAL_ITEM,
);
return $items;
}

function my_custom_access_callback()
{
if(user_access('use business dashboard'))
return TRUE;

return FALSE;
}

如果这行得通,请告诉我……穆罕默德。

关于Drupal - 通过自定义权限切换菜单项的可见性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10495107/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com