問題に対する他の解決策もあります。
フィールドコレクション
あなたは使用することができますフィールドコレクションとフィールドコレクションビューの内容を保存し、整理するためにモジュールを。このアプローチを使用するIssue
と、およびMagazine
はフィールドコレクションタイプになりIssue
、はのフィールドでArticle
ありMagazine
、のフィールドですIssue
。私はそのような構造を実装した経験があります。私の場合、要件はLibrary
本(タイトル、出版社、および...フィールドを含む)を含む必要があり、すべての本には複数のボリューム(ページ数、翻訳者、...)が含まれ、各ボリュームには他のアイテムも無制限に含まれています(本の間で同じではないいくつかのページのスキャンのように)。
私はこれをフィールドコレクションアプローチを使用して実装しました。すべてのフィールドコレクションの個々のアイテムを編集するためのリンクを簡単に作成でき、フィールドコレクションのアイテムでフィルタリングすることもできます。フィールドコレクションビューでの作業方法を示す、フィールドコレクションの値でビューのアイテムをグループ化するための回答を投稿しました
エンティティビューの添付ファイル
EVAモジュールとも呼ばれます。
「Eva」は「Entity Views Attachment」の略です。ビューの出力を任意のDrupalエンティティのコンテンツに添付できるようにするビュー表示プラグインを提供します。ノードまたはコメントの本文、ユーザーアカウントのプロファイル、または分類用語のリストページは、すべてエンティティコンテンツの例です。
EVAを使用して、特定のコンテンツのフィールド値のみを表示し、フィールドの表示とフォーマットの柔軟性を驚くほど制御できます。たとえば、特別な方法で2つのフィールドを連結したい場合があります。フィールドをEVAディスプレイに追加し、コンテキストフィルターをNIDに設定し、グローバル:テキストフィールドを追加し、トークンを使用してフィールドをHTMLでフォーマットできます。グローバル:テキストフィールドでフィールドを一緒に使用する場合は、フィールドを表示から除外することを忘れないでください。例:都市、州、郵便番号のフィールドがあるとします。これらをビューのグローバル:テキストフィールドで組み合わせて、「市、州のZIP」として表示できます。コンテンツタイプの表示を管理する場合は、作成したばかりのEVAを表示に追加します。タイプが表示されるノードは常にそのnidをEVAに渡し、EVAは選択したフィールドを返します。必要に応じてフォーマットします。(ソース:EVAおよびエンティティー参照の使用例のハウツー)
このモジュールは完璧です。コンテンツタイプのノードにフィールドとしてビューをアタッチします。このモジュールを使用してを作成しましたAlbum
。アルバムにはsinger
(それぞれについての情報songs
が含まれています)、ファイル、タイトル、レートなどが含まれています。そこで、タイプEVAのビューを作成し、それをノードに接続しました。したがって、すべてのSingerのノードページに、ノードから適切な情報を取得するこのビューを表示しました。エンティティ参照付きのビューは、このモジュールの使用方法の完全なチュートリアルです。
分類用語とエンティティリファレンス
私はあなたが読むことをお勧め実体参照対の分類をし、タームリファレンスの上にエンティティ参照を使用したとの任意のメリット/注意点はありますか?、それが言うように、分類法は階層的な方法で同様のアイテムを整理するときに最もよく使用されます。タグのように。
分類法では、無料のタグ付け(コンテンツ分類法モジュールを使用して無効にすることができます)を使用できます。これにより、新しいタグをその場で作成できます。コンテンツのスケルトンを変更するのは非常に簡単です。このアプローチを使用すると、正規または少なくとも一部の認証されたユーザー(プログラミングの知識がない)がこのスケルトンを変更できます。階層選択モジュールは、そのようなアプローチの完璧な例です。
分類法は簡単に使用できますが、私自身はエンティティ参照を好みますが、多くの可能性とスケーラビリティが開かれ、非常に複雑な構造を作成できます。このコンテキストでのエンティティの概念はコンテンツに限定されません。コメント、ユーザー、分類法などです。これははるかにスケーラブルなので、コンテンツタイプのカスタマイズや将来の変更について心配する必要はありません(エンティティ参照と分類法で指摘されているように)。エンティティアプローチは分類法よりも強力だと思います。
これらのアプローチには、言及する必要のない他のいくつかの組み合わせもあります。
とにかく、エンティティのアプローチとそれに関連するモジュールを完全に理解することをお勧めします。複数のプロジェクトで使用する場合、その複雑さにもかかわらず、非常に簡単に使用できます。現在の要件だけでなく、将来的にも非常に信頼できるツールになります。