gpt4 book ai didi

drupal - 隐藏 Drupal 7 中特定推荐人的菜单链接

转载 作者:行者123 更新时间:2023-12-01 15:36:48 24 4
gpt4 key购买 nike

我正在寻找一种在特定条件下为匿名用户隐藏特定菜单项的方法。特别是,我在几个子域上为附属机构提供网站服务,对于某些子域(附属机构),我想隐藏指向出现在几个菜单中的“关于我们”页面的链接。

我并不太在意完全拒绝访问“关于我们”节点,但很高兴这可能是一种探索途径。

到目前为止,我看过:* hook_menu_alter 但这仅在重建菜单树时调用,而且我看不到如何仅为特定的匿名 session 删除项目。* template_preprocess_menu_link :可能,但我如何告诉该项目不呈现。我可以向隐藏它的菜单项添加一个类,不是特别好,但它会工作。* hook_node_access:看不到我将如何阻止仅访问此 session 。

欢迎任何想法或指点。

[编辑]为了跟进这个,我有一个解决方案,但我一点也不为此感到自豪,必须有更好的方法。我正在使用“隐藏”类将 css“display:none”属性添加到列表项。

function sil_affiliate_preprocess_menu_link(&$variables) {
$affiliate = get_affiliate_from_session();

if ($affiliate && !$affiliate->show_aboutus) {
$real_path = drupal_lookup_path('source','customerservice/aboutus');
if ($variables['element']['#original_link']['link_path'] == $real_path) {
$variables['element']['#attributes']['class'][] = 'hidden';
}
}
}

:wq全家福。

最佳答案

您可以在自定义模块中使用以下代码示例。它实现了 hook_node_access (未测试)

function [YOUR_MODULE]_node_access($node, $op, $account)
{
if($account->uid == 0 && $op == "view" && $node->nid == 15)
{
return NODE_ACCESS_DENY;
}
}

希望这能奏效......穆罕默德。

关于drupal - 隐藏 Drupal 7 中特定推荐人的菜单链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12950498/

24 4 0