Drupal 7 と Views 3 では、ノード テンプレートに埋め込むために、hook_preprocess_node でコンテキスト フィルター引数を使用して views_embed_view を呼び出した結果を取得しようとしています。
ビューは、「コンテンツ: タイトル」といくつかのカスタム フィールドを含むフィールド表示設定を使用しています。ビュー UI からコンテキスト フィルター引数を使用してビューをプレビューすると、すべてが期待どおりに機能しますが、ビューを埋め込むと、フィールド API からノードのフィールドが読み込まれません (タイトルやノード ID などの組み込み属性のみが読み込まれます)。 )。
ここで何が起こっているのか分かりますか?
サイト/すべて/テーマ/XXX/template.php
function XXX_preprocess_node(&$vars, $hook) {
$node = $vars['node'];
$vars['views__deals__single'] = views_embed_view('deals_single', 'page_1', $node->nid);
}
サイト/すべて/テーマ/XXX/テンプレート/ノード--deal.php
// ...
echo 'THE VIEW SHOULD BE HERE:';
echo $views__deals__single;
// ...
エコーの結果は、ノード タイトルと、ラベルを含む他のビュー フィールドの HTML ラッパーですが、ビュー プレビューとは異なり、それらのコンテンツは空です。
ヘルプ!