2010-11-18 96 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中引用该函数,或者创建一个模块来生成该值并在任意模板中自由使用它。