0

Authorというコンテンツタイプがあり、ノード参照モジュールを介してNovelとBookという別の2つのコンテンツタイプで参照されているため、BookとNovelの両方のコンテンツタイプに作成者エンティティを追加できます。小説と本の両方に、リリース日と呼ばれる別のフィールドが含まれています。次に、ユーザーが対応する著者ページにアクセスしたときのリリース日に基づいて、本の名前と小説の名前を時系列で表示するブロックを表示します。

元。AがBookA(Release Yr-2006)、NovelB(Release Yr-2004)、BookC(Release Year-2009)の著者であるとします。ユーザーが著者Aページにアクセスすると、次のように本/アルバムが時系列で表示されるブロックが表示されます。-NovelB--BookA--BookC

Drupal7で達成する方法として提案してください。

4

2 に答える 2

0

次のフィールドを表示したいtitle(本の名前はノードのタイトルだと思います)

ビューで並べ替えオプションを使用できる並べ替えについては、かなり自明です。リリース日フィールドの名前を選択します。

著者と本の間の接続には、コンテキストフィルター(詳細)を使用する必要があります。author-reference-fieldあなたの本/小説(著者を参照するために使用するフィールド)からを追加します。次に、デフォルト値(2番目のオプション)を使用することを選択し、を選択しますcontent id from url。これで、ブロックは現在のページIDを持つページを参照するすべてのノードを検索します。タイトルフィールドを表示することを選択したので、リストが表示されます。

ここではライブプレビューが機能しないため、結果を確認するには実際のページに移動する必要があることに注意してください。

更新:これは、両方のコンテンツタイプに同じフィールドを再利用した場合に機能します。複数のフィールドを使用している場合は、コンテキストフィルターを機能させるためにOR演算子を使用する必要があります。d34dmanのおかげで、次のページがまさにそれを行うために与えられました。新しい実装の場合は、すべてのコンテンツタイプからのすべての参照に同じフィールド(例:reference_to_author)を使用することをお勧めします。

于 2012-11-28T11:47:42.000 に答える
0

ええ..カスタムコードを追加することでこの問題を解決することができます。私はhook_views_query_alterメソッドを使用してから、要件に応じて結合関係とwhere句を追加しました。詳細については、次の記事を参照してください 。http://www.midwesternmac.com/blogs/jeff-geerling/filtersearch-multiple-fields

返信を投稿して、私の希望を生かしてくれてありがとう。

于 2012-12-04T05:51:23.630 に答える