私たちが知る限り、Drupal(まだD8にあります)には、権限と分類法に関する多くの問題があります。
ユーザーロールにAdminister vocabularies and terms
へのアクセス許可を与えて、admin/structure/taxonomy
のページにアクセスできるようにしますが、そのロールを特定のボキャブラリーに制限したい(その後 Vocabulary Permissions Per役割 モジュールが便利です)
残っている唯一の問題は、Add Vocabulary
に付属するAdminister vocabularies and terms
権限です。
だからここに質問です:他の語彙分類用語を維持するためのアクセス権を与えながら、ユーザーが新しい語彙を作成/既存の語彙を編集することを制限するにはどうすればよいですか?
"Creating a new vocabulary"は、URLを使用して行うことですadmin/structure/taxonomy/add
、while "Editing existing vocabularies"(say with machine name demotags
)はURL admin/structure/taxonomy/demotags/edit
。
これらのURLへの "restrict"アクセスへの可能な解決策(これは、探している欠けている部分のようです)に Rules モジュールを使用することですこの。これを行うには、「 モジュールのアクセス許可をより詳細にする方法 」という質問に対する私の回答を確認してください。ルールが含まれており(ルールエクスポート形式)、これらのマイナーチューニングを適用した場合に使用できるはずです。
visitors
を含むURLに適合させます(最初の段落のように、分類に関連するURLに一致させます)。/** * hook_permission()。 を実装します*/ 関数YOUR-CUSTOM-MODULE-NAME_permission(){ $ permissions = array( 'add new vocabulary' => array( 'title' => t( 'Add new vocabulary')、 )、 ); $ permissions; } を返します
/** * hook_menu_alter()。 */ 関数を実装しますYOUR-CUSTOM-MODULE-NAME_menu_alter(&$ items){ $ items ['admin/structure/taxonomy/add'] ['access arguments'] = array( 'add new vocabulary'); }