だから、私はこれを一日中理解しようと努めてきました。基本的にプレビューアで一時的に機能していましたが、現在はまったく機能していないようです。
使用例:コンテンツタイプ「Article」で公開された各ノードには、含まれるタグの分類フィールドが付属しています。私がやろうとしていることは、他の記事にリンクする一連のサムネイルを使って、記事の下に表示されるブロックを作成することです。これらの記事は、各記事で使用されているタグに基づいて関連付けられています。
したがって、問題は次のとおりです。
関係フィルターを介してコンテンツタイプ:記事に用語が含まれることを認識できるように、コンテキストフィルターを設定しようとしましたが、率直に言って、これを達成するために何をする必要があるかについて、ちょっと困惑しています。
Drupal 7の1つのプロジェクトに同じものを実装して、同じカタログの製品を表示しました。
記事コンテンツのビューを作成し、タグのコンテキストフィルターを作成できます。そのタグの記事がすべて表示されます。
以下の手順に従ってください:
以下の画像を参照してください。
また、ノードIDのコンテキストフィルターを追加し、以下の手順に従う必要があります。これにより、現在のノードページが関連ビューセクションに表示されなくなります。
Similar by Terms を使用してみましたか?
(編集)ビュー分類法の引数の問題は、分類法がブードゥー分類法モジュールコードではなくフィールドに含まれるようになったことです。このため、Drupal 6の分類APIの一部は、Drupal 7.では使用できません。
Views Arguments from Context でContextモジュールを使用します。私は パッチ を移植しましたDrupal 7.これにより、ビューのコンテキストフィルターの下に別のオプションが表示され、コンテキストまたは読み込まれたオブジェクトとエンティティに基づいて引数を取得します時間。
これは特に関数を使用しています:
function taxonomy_node_get_terms($node, $key = 'tid') {
static $terms;
if (!isset($terms[$node->vid][$key])) {
$query = db_select('taxonomy_index', 'r');
$t_alias = $query->join('taxonomy_term_data', 't', 'r.tid = t.tid');
$v_alias = $query->join('taxonomy_vocabulary', 'v', 't.vid = v.vid');
$query->fields( $t_alias );
$query->condition("r.nid", $node->nid);
$result = $query->execute();
$terms[$node->vid][$key] = array();
foreach ($result as $term) {
$terms[$node->vid][$key][$term->$key] = $term;
}
}
return $terms[$node->vid][$key];
}
Drupalコアから削除されるべきではありません。現在のノードオブジェクトに渡した場合に使用する分類用語が見つかります。