1

Drupal には 3 つのコンテンツ タイプ (A、B、C) があり、リンクを参照してください。A と C には、B へのノード参照が含まれています。

これで、引数から A のフィールドを照会するビューができました。B との関係チップを介して C からのフィールドも表示したいので、次のようにします。

  • A には ID:1 のノード参照があります

  • B のノード ID:1

    ID の nodereference も 1 である C のフィールドを表示したいのですが、これはどのように可能ですか? マッピングがわかりません。

誰か助けてくれませんか?

4

1 に答える 1

2

現在、ノード リファレンスを介して A から B に簡単に移動できますが、リンクが C から B にあるため、C へのリンクを取得できません。これが現在の問題です。

つまり、モジュール Node Referrer を使用して問題を解決できます (その機能については、http://drupal.org/node/431308 を参照てください)。基本的に、C から B を指しているすべてのノードを示す読み取り専用フィールドを作成します (つまり、ノード参照ごとに一種の逆ノード参照が作成されます)。

したがって、次のノード参照フィールドがあるとしましょう

  1. コンテンツ タイプ A には、ノード参照フィールドがあります。a_to_b_link
  2. コンテンツ タイプ C には、ノード参照フィールドがあります。 c_to_b_link
  3. コンテンツ タイプ B には、ノード リファレンスのすべてのリンクを追跡するノード リファラー フィールドがあります。 c_to_b_link

対応するビューの作成は、もう少し複雑です。

  1. 最初にフィルタを追加しますNode: Type = A
  2. 関係を追加しa_to_b_linkます。チェックボックスにチェックを入れてください Require this relationship
  3. という名前のノード グループから別の関係を追加しNode: Referrersます。a_to_b_linkまた、関係の設定で、Relationshipドロップダウンで選択する必要があることを確認してください。つまり、既存のリレーションシップを使用するリレーションシップを作成しています (概念は C++ のポインターへのポインターに似ています) チェックボックスをオンにしていることを確認してくださいRequire this relationship。この関係は、デフォルトでReferencing NodesDrupal によって命名されます。
  4. ビューで通常行うように、コンテンツ タイプ A から必要なフィールドを追加します。
  5. コンテンツ タイプ C からフィールドを追加する場合は、関係を選択してください。Referencing Nodes
于 2010-10-05T21:21:03.833 に答える