在drupal中的不同.tpl.php模板之间共享变量

时间:2010-11-18 14:47:28

标签: templates drupal variables

据我所知,要在模板之间共享变量,必须使用hook preprocess。

我想我已经把钩子预处理位好了。

我的主题模板php文件中有这个。

function rootcandy_preprocess_views_view_fields__default(& $ vars){ $ vars ['brian'] ='你好,来自布莱恩';

在views-view-fields中 - default.tpl.php我有这个:

打印$ brian;

所以它打印出“你好,来自布莱恩”。万岁。

但是我想打印出我的View的标题 - 可以在views-view.tpl.php中找到,但不能在views-view-fields中找到。

下面的代码看起来很有希望,但我不明白为什么它不会导致我的标题在views-view-fields中打印出来 - default.tpl.php

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

我当然得到了打印$ mytitle;在views-view-fields中 - default.tpl.php

有什么想法吗?

感谢。

1 个答案:

答案 0 :(得分:0)

这是一个时间问题,当view-view-fields正在解析时,views-view已被解析,你无法得到他的变量 - 它们不再是“已存在”。

使用函数生成值并在视图视图和视图视图字段中引用该函数,或创建模块以生成此值并在任何模板中自由使用。