drupal 8で匿名ユーザーのメニュー項目を非表示にする方法は? hook_translated_link_alter が非推奨になったため、どのフックを使用してタスクを実行できますか?
2333 次
2 に答える
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 に答える