据我所知,要在模板之间共享变量,必须使用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
有什么想法吗?
感谢。
答案 0 :(得分:0)
这是一个时间问题,当view-view-fields正在解析时,views-view已被解析,你无法得到他的变量 - 它们不再是“已存在”。
使用函数生成值并在视图视图和视图视图字段中引用该函数,或创建模块以生成此值并在任何模板中自由使用。