2009-09-23 160 views
0

我已經使用視圖創建了一個塊,並且想向其添加一些無法從視圖本身獲取的信息。我需要編寫一個小函數來查詢一些額外的數據。Drupal:將內容添加到視圖

我想將這個函數放在MYTHEME_preprocess_node中,但是當我放置一個簡單的$ variables ['test'] ='test',然後在輸出Block內容的.tpl文件之一中執行打印$測試時,沒有表現

我在正確的軌道上嗎?

回答

0

您也可以在視圖界面中使用Theme Info選項來標識由視圖拉入的模板。我不確定是否可以爲這些模板編寫預處理函數,但是您可以按照主題信息中提供的名稱方案在Theme目錄中創建視圖特定的重寫模板。

該模板可能包含SQL查詢。

+0

這就是我所做的。不是很漂亮,但它的作品。謝謝 – stef 2009-09-24 09:19:14

0

事情是preprocess_函數綁定到特定的模板。所以預處理頁面將生成page.tpl.php中可用的變量,而preprocess_node將爲node.tpl.php執行它。所以你可以使用應該爲所有模板運行的MYTHEME_preprocess或者使用MYTHEME_preprocess_templatename。我不確定命名方案與模板命名系統的對比。但是,devel模塊有一個選項,可以讓您查看在您查看的頁面上運行哪些預處理函數,如果遇到麻煩,它應該能夠幫助您找出要調用預處理函數的功能。