我在Drupal 7中的一个博客页面上有一个视图,我正在使用".tpl.php"或模板文件覆盖它,这样我就可以使用自己的自定义HTML并添加标题。
通常,可以使用$title
或$block->subject
在模板文件中访问视图的标题,但这在我的视图模板文件中不起作用。
使用drupal_get_title()
只是显示"博客",因为页面本身就是一个页面模板,但我需要用PHP动态插入页面模板文件的块视图的标题。
奇怪的是,标题将与数据库查询的结果(也称为字段)一起显示在视图预览中。
那么,如何访问模板PHP文件中通常称为$title的变量呢?
首先,在视图设置页面上,进入"其他"部分下的"主题:信息"。在那里,您可以找到一个文件名列表,这些文件名可用于覆盖视图输出。
因此,如果您的视图被称为"测试视图",那么您应该在your_theme/templates/views/
文件夹中创建一个名为views-view--test-view.tpl.php
的文件来覆盖视图的显示设置。
在该文件中,放入以下内容:
<?php if($view->human_name) print "<h2>" . $view->human_name . "</h2>"; ?>
然后在"主题:信息"下单击"重新扫描模板文件"的按钮,标题现在应该会显示在网站上显示该视图的任何位置。
如果该变量为空,您可以通过在该文件中放入以下代码来获得要显示的变量的猜测列表:
<?php
?>
<div>
<?php $list = array_keys(get_defined_vars());
foreach($list as $key => $value)
print "$" . $value . ", ";
die();
?>
</div>
这些变量中的每一个都可能是一个对象或数组,因此您可能必须使用print_r($variable)
或var_dump($variable)
打印它们的内容,以了解它们的内部内容。