0

在Drupal 7和Views 3中,我試圖用hook_preprocess_node中的上下文過濾器參數調用views_embed_view,以嵌入到節點模板中。Drupal 7 views_embed_view node.tpl.php字段

該視圖使用Fields顯示設置,包括「Content:Title」和一些自定義字段。當我使用來自Views UI的上下文過濾器參數預覽視圖時,一切都按預期工作,但是當我嵌入視圖時,沒有任何來自Fields 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; 
// ... 

的與視圖預覽不同,echo的結果是節點標題,其他視圖字段(包括標籤但其內容爲空)的HTML包裝是空的。

幫助!

回答

0

你可以把它直接在node.tpl.php模板:

<?php print views_embed_view('deals_single', 'page_1', $node->nid); ?>