如何在 drupal 8 中隐藏匿名用户的菜单项?由于 hook_translated_link_alter 已被弃用,哪些钩子可用于执行任务?
问问题
2333 次
2 回答
2
您需要覆盖/扩展 DefaultMenuLinkTreeManipulators 类以提供角色作为对菜单项的访问。命名空间是Drupal\Core\Menu\DefaultMenuLinkTreeManipulators;
或者
您可以使用每个角色模块的菜单来设置对菜单项的基于角色的访问
于 2018-10-18T11:43:05.630 回答
1
您的菜单项将有一个绑定到它们的特定路线。在您的 .routing.yml 文件中,您可以设置路由的权限,该权限将被传递到链接。
快速示例:假设我们创建了一个指向以下路由的链接:
profile.page:
path: 'profile'
defaults:
_controller: '\Drupal\profile\Controller\ProfileController::profile'
_title: 'Profile'
requirements:
_permission: 'access profile content'
在这里,“访问个人资料内容”是一个自定义权限,但它是什么权限并不重要。您的链接也将获得此权限,并且当用户无权访问链接背后的内容时,Drupal 将隐藏您的链接。
希望这可以帮助
于 2016-04-29T12:13:42.630 回答