Drupal文档教程翻译 - 自定义扩展的输出 - Views (4)
本站原创编译,转载请给面子,尊重劳动果实,欢迎交流指正。
又是新的一周到来,大家早,天气很热,注意防暑降温。Drupal文档中文翻译时间,继续我们的Views自定义主题打造。上周最后一篇中,我们了解了怎样按照需求创建自己的Views模板文件,今天来看有关模板变量的话题。
第四步:标识模板变量
话说如果我们只是打造那么一两个简单的模板文件,这步中的话题可以跳过。如果我们希望相对系统化的在模板文件中对某些单独的输出进行自定义,那么就需要我们找到相应的变量并在模板中需要的地方使用。
默认的模板代码中,在头部被注释掉的部分里面,会列出一些常用的变量,我们可以从这里出发。要查看当前模板文件中所有可用的变量,我们可以把下面的代码放在views-view.tpl.php或views-view--alpha.tpl.php(以名为alpha的view为例)模板文件中:
<?php
print print_r(array_keys(get_defined_vars()), 1);
// If you have devel.module installed, comment the line above and uncomment the line below
// dsm(array_keys(get_defined_vars()));
?>
数组中的每个键值都对应着一个变量,最终输出一打子变量给我们查阅。
如果我们在Views管理后台中将当前view的行内风格设置为“fields”,那么我们就有一个“field”变量可以使用。要查看所有field的名称,可以将下面的代码放在views-view.tpl.php或views-view--alpha.tpl.php(以名为alpha的view为例)模板文件中:
<?php
print '<pre>' . htmlentities(print_r($rows, 1)) . '</pre>';
// If you have devel.module installed, comment the line above and uncomment the line below
// dsm(array_keys($fields));
?>
我们也可以查阅模板文件头部那些被注释掉的变量说明,每一个变量的可用属性都会有说明。要在模板代码中插入某个指定的field,可以使用以下形式的代码,其中“foo”替换为指定的field名称:
<?php print $fields['foo']->content; ?>
举例说,假设我们有一个名为“bar”的内容类型,现在我们要创建一个view,用来显示所有属于bar类型的节点的标题,并链接到对应节点页面中。我们首先创建名为“views-view-fields--bar.tpl.php”的模板文件,将下面的代码扔进去:
或者我们还可以首先检查一下标题对应的节点内容是否存在:
<?php if ($fields['field_boo_url_url']->content) { print '<a href="' . $fields['field_boo_url_url']->content . '">' . $fields['title']->content . '</a>'; } ?>
要进一步完善模板文件,我们还可以使用曾经讲到过的在template.php文件中定义预处理函数的方式来规划我们自己的函数及变量。
译者:Viiiix7210
如需转载,请注明官方英文文档及本人译文的出处,谢谢。查看英文原文: Views 2 theming
| < Prev | Next > |
|---|

评论刷新