web-dev-qa-db-ja.com

語彙自体にフィールドを追加する

語彙そのものにフィールドを追加したい状況です。つまり、通常は/admin/structure/taxonomy/my_vocabulary/editに表示されるフォームの編集可能なフィールドが必要ですが、語彙の各用語に表示されるフィールドは必要ありません。残念ながら、{taxonomy_vocabulary}description列は、必要なものに対して制限が多すぎます。

これに対処する最良の方法は何ですか?可能であれば、カスタムテーブルを使用してカスタムモジュールを作成したり、語彙編集ページのフォームを変更したりしないようにします。

ありがとう。

6
mpdonadio

したがって、基本的な問題は、語彙がフィールド化できないことです。理論的にはこれは簡単に修正できますが、技術的な問題を引き起こしたり、ユーザーの混乱を避けるために、この機能がないかどうかはわかりません。

語彙をフィールド化できるようにするには、 hook_entity_info_alter を実装します。

function hook_entity_info_alter(&$entity_info) {
  $entity_info['taxonomy_vocabulary']['fieldable'] = TRUE;
}
6
Letharion

Fieldable vocabularies モジュールを使用できます。

このモジュールは、語彙をフィールドシステムに公開します。単一のバンドルと単一の表示モードを定義します。

6
Vaan