2010-11-18 103 views
1

我知道要在模板之間共享變量,您必須使用鉤子預處理。在drupal中的不同.tpl.php模板之間共享變量

我想我已經得到鉤預處理位了。

我在我的主題模板php文件中有這個。

function rootcandy_preprocess_views_view_fields__default(& $ vars){ $ vars ['brian'] ='hello from brian';

在視圖視場 - default.tpl.php我有這樣的:

打印$布賴恩;

因此,它打印出「布萊恩你好」。萬歲。

但是我想打印出我的視圖的標題 - 它在views-view.tpl.php中可用,但在views-view-fields中不可用。

下面這段代碼看起來很有希望,但我不明白爲什麼它不在我的頭結果是打印出來的觀點視場 - default.tpl.php

功能rootcandy_preprocess_views_view_fields__default(& $瓦爾) {$ vars ['mytitle'] = $ vars ['view'] - > display [$ vars ['view'] - > current_display] - > header ['area']; }

我當然有打印$ mytitle; in views-view-fields - default.tpl.php

任何想法?

謝謝。

回答

0

這是一個時機問題,當view-view-fields在解析時,views-view已經被解析,你不能得到他的變量 - 它們不再是「存在」了。

使用函數來生成值並在views-view和views-view-fields中引用該函數,或者創建一個模塊來生成該值並在任意模板中自由使用它。