web-dev-qa-db-ja.com

現在のノードが使用しているものと同じカテゴリ(分類用語)を使用してノードを取得する

ノードには2種類あります:ニュースページです。すべてのNewsノードは、カテゴリ(分類用語)に割り当てることができ、これはPageノードからも使用されます。

現在のノードと同じカテゴリを持つすべてのNewsノードをビューに取得したいと思います。

どうすればこれを達成できますか?

1
deem

ビューのコンテキストフィルターセクションにコンテキストフィルター(以前の引数)を追加し、[追加]をクリックして、[コンテンツ:分類用語IDがある]を選択し、[フィルターの値IS URLにない場合)]で[デフォルトを提供]を選択します値。[URLから分類ID]を選択します。[ノードページからデフォルトフィルタを読み込みます。これは、関連する分類ブロックに適しています]を選択します。これにより、関連する分類が作成されます。

5
heshanlk

目的が、特定の分類用語を共有するページノード上のニュースノードのリストを表示することである場合は、次のようにすることができます。

  • PageコンテンツタイプにTaxonomy Referenceフィールドを作成します。必要に応じて、代わりにエンティティ参照フィールドを作成できます。
  • 同じ分類基準参照フィールドをNewsコンテンツタイプに割り当てます。
  • ビューを作成します。 Newsコンテンツタイプからビューにフィールドとフィルターを追加します。
  • Has Taxonomy Term IDをコンテキストフィルターとして追加します。
  • フィルター値が使用できない場合で、RLからの分類用語IDを選択します。 ノードページからデフォルトフィルターをロードします。これは関連する分類ブロックに適しています、および用語を語彙で制限するを有効にしてから、共有語彙を選択します。
  • フィルター値が使用可能な場合が使用可能である場合、またはデフォルトが提供されている場合選択検証基準の指定Validator TermをTaxonomy Termに設定し、共有語彙を選択します。
  • フィルター値タイプの下で用語名を用語IDに変換を選択します。
  • フィルター値が検証されない場合に実行するアクションの下で指定されたフィールドのすべての結果を表示を選択します。
  • 少なくとも1つのニュースノードと語彙用語を共有するページノードからNIDでプレビューしてテストします。

この方法では、ビューに関係は必要ありません。 1つまたは2つの関係をビューに追加する同様の問題に対処する投稿はたくさんありますが、ここでは必要ありません。たとえ機能しても、ビューの実行ははるかに複雑で遅くなります。

0
millionleaves

以下のリンクを確認してください: drupal 7)の関連コンテンツ

現在アクティブなノードの特定の分類用語に基づいてノードを表示するには、ビューを作成してコンテキストフィルターを追加する必要があります。

特定のノードタイプのビューフィルターがないことを確認してください。

0
AnAnD