Drupal 7 视图 $title 变量

Posted

技术标签:

【中文标题】Drupal 7 视图 $title 变量【英文标题】:Drupal 7 Views $title Variable 【发布时间】:2013-02-12 15:41:03 【问题描述】:

我在 Drupal 7 中的博客页面上有一个视图,我使用“.tpl.php”或模板文件覆盖该视图,以便我可以使用自己的自定义 html 并添加标题。

通常,可以使用$title$block->subject 在模板文件中访问视图的标题,但这在我的视图模板文件中不起作用。

使用drupal_get_title() 只显示“博客”,因为页面本身是一个页面模板,但我需要使用 PHP 动态插入到页面模板文件中的块视图的标题。

奇怪的是,标题将与数据库查询的结果(也就是字段)一起显示在视图预览中。

那么,如何访问模板 PHP 文件中通常称为 $title 的变量?

【问题讨论】:

【参考方案1】:

首先,在视图设置页面上,进入“其他”部分下的“主题:信息”。在那里,您可以找到可用于覆盖视图输出的文件名列表。

因此,如果您的视图被称为“测试视图”,那么您应该在您的 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) 打印它们的内容以了解它们的内部内容。

【讨论】:

我实际上不确定这是否 100% 正确。如果您在一个视图中有多个页面,并且为每个页面设置了不同的标题,则您无法使用此代码获得该标题。

以上是关于Drupal 7 视图 $title 变量的主要内容,如果未能解决你的问题,请参考以下文章

如何在视图过滤器中使用标记 - Drupal 7

Drupal 7将变量传递给同一视图

在新窗口中打开外部URL-Drupal

Drupal 7 Views 自定义视图模板字段

drupal 7 - 按分类术语分组

如果链接字段的标题值在 drupal 7 视图中为空,如何隐藏标题?