📝

Drupal のコンテンツで利用するメニューをロール毎に制御する

2024/10/13に公開

久しぶりにDrupalを触っているのでメモ。

Drupal でコンテンツを管理するときにメニューをつかって親子関係とかを制御する。
タクソノミーとか使う方法もあるが、今回はメニューを使う想定。
デフォルトだとメニューを使えるようにする権限が大きいので、何かしら制御したいという状況。

メニューを利用するための権限設定

Menu Admin per Menu を使うことで、ロール毎に利用可能なメニューを制御できる。

Menu Admin per Menu | Drupal.org
https://www.drupal.org/project/menu_admin_per_menu

メニュー関係の権限的に「Administer menus and menu links」しか無くて、

これだと全部のメニューが出てしまって、管理者以外のロールにとっては都合が悪い。

該当のロールに利用するメニューを付与する

Menu Admin per Menu でロール毎に利用出来るメニューの制御ができる。

メニューの権限がないと node でのメニューリンクの追加とかもできなかったのでこれでよさそう

上部のナビゲーションも設定したメニューのみ調整できる。

コンテンツタイプ側の設定でも利用できるメニューを設定する必要があるので、二重に管理する必要があるのはちょっと面倒そうな気がする。

コンテンツタイプ側の設定とロール側の設定

コンテンツタイプ側の設定で使えるメニューが A, B と設定されているとする。
ロールの権限的にメニューAに権限を振っている場合、コンテンツの編集画面ではメニューリンク作成の項目が表示されなかった。

Discussion