0

drupal 8で匿名ユーザーのメニュー項目を非表示にする方法は? hook_translated_link_alter が非推奨になったため、どのフックを使用してタスクを実行できますか?

4

2 に答える 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 に答える