公式の documentation に基づいてメニューリンクを作成する管理メニューで内部リンクを使用しようとしました。ただし、内部リンクは管理者権限を持つユーザーにのみ表示されます。
私のmy_module.links.menu.yml
テストには次のリンクを使用します。
my_module.test_link:
title: 'TEST LINK internal'
url: internal:/node/add
description: 'TEST internal'
parent: system.admin_content
weight: 99
my_module.test_link_2:
title: 'TEST LINK external'
url: https://www.stackoverflow.com
description: 'TEST external'
parent: system.admin_content
weight: 100
どちらのリンクも管理者に表示されますが、編集者の役割を持つユーザーには外部リンクのみが表示されます。
私は編集者ロールのすべての権限をアクティブにしますが、リンクは非表示のままです。
route_nameを使用する必要があるようです。次に、権限を制御でき、編集者の役割にも内部リンクが表示されます。
1 –変更my_module.links.menu.yml
URLの代わりにroute_nameを使用するには:
my_module.test_link:
title: 'TEST LINK internal'
route_name: my_module.test_route
description: 'TEST internal'
parent: system.admin_content
weight: 99
2 –許可付きのルートをルーティングファイルに追加my_module.routing.yml
:
my_module.test_route:
path: '/node/add'
requirements:
_permission: 'access content'