web-dev-qa-db-ja.com

「フィールドの管理」および「表示の管理」タブを非表示にする方法

Drupal 7のウェブサイトを作成しています。分類法の権限を調べていました。ウェブサイトのメンテナーに語彙を管理し、用語を追加し、用語を並べ替える中心的な場所を提供したかったのです。など。私は彼らの役割に分類法の下で「語彙と用語の管理」権限を与えましたが、これは望ましくない複雑さをもたらし、主に新しいフィールドを作成して表示を管理するためのアクセス権を与えました(「フィールドの管理」および「表示の管理」タブ) )。

「構造>分類」からアクセスできる語彙と用語の編集画面にアクセスできるようにする方法はありますが、語彙編集画面の「フィールドの管理」タブと「表示の管理」タブを無効にしますか?

私はDrupal 6のオーバーライドとフックの概念に精通していますが、Drupal 7は初めてです(実際、これが初めてです。 D7のWebサイト、5つまたは6つのD6のWebサイトで構成されている)ので、これに対するコーディングソリューションを気にしないでください。

まだ誰も答えていないので、分類法を管理するために中央領域の代替手段(管理者/構造/分類法)を検討するつもりであることを付け加えたいと思います。分類管理ページをシミュレートするために、ビュー付きのページの作成を検討することもできます。

それは実現可能で、誰かが以前にこのようなことをしたことがありますか?

17
Beebee

私はこれがしばらく前に回答されたことを知っていますが、カスタムまたは特別なモジュールを必要としないソリューションがあります。

コアfields uiモジュールを無効にすると、[フィールドの管理]タブと[表示の管理]タブは表示されません。

これが本番サイトの場合は、フィールドの設定をすでに行っているので、これで問題ありません。変更を加える必要がある場合は、モジュールをもう一度簡単に有効にします。

8
marblegravy

field_ui_permissions module を使用して、「フィールドの管理」タブと「表示の管理」タブをロールの権限に基づいて表示するかどうかを制御します。

7
Raghavendra

パーミッションadminister taxonomyは、フィールドのパーミッションを付与するために使用されるものです。分類管理へのアクセスを付与するためにこのパーミッションを付与する必要がある場合は、フィールドuiの新しいパーミッションを作成できます。

これを設定する最も簡単な方法は、hook_entity_info_alterフックを使用することです。これは、ここにフィールドuiの管理パスが追加され、それらのアクセス許可が付与されるためです。 hook_menu_alterを使用して権限を変更することもできますが、これはもう少し手間がかかります。

3
googletorp

Hook_menu_alter()を使用して、field_ui.moduleファイルのfield_ui_menu()関数で設定されている「アクセスコールバック」を編集してみてください。これは、「フィールドの管理」および「ディスプレイの管理」メニュー項目が設定される場所です。

Hook_menu_alter()で、分類パスのこれらの2つのメニュー項目エントリを探し(これらのコンテンツタイプバージョンを保持する必要があるため)、「アクセスコールバック」を、作成した新しい権限をチェックするカスタムメソッドに変更します。 hook_permission()で。

私は過去に同様のことをしたことがあり、必要に応じてコードを送信させていただきます。

2
Adam