Drupal - 视图 - 分类术语ID - 自定义模板 - 锚点

时间:2013-12-12 10:55:46

标签: php drupal views taxonomy

快速版:如何在视图模板中输出分类术语ID?我只想要数字ID值。这将用作链接锚点。

长版:

场景,我有一个显示分类术语列表的视图。该视图有一个Page和一个Block。页面视图设置为将块视图显示为标题。该块视图仅包含分类名称。页面视图显示所有分类内容。

我希望阻止视图列表锚定到页面视图中的项目:

Category page screenshot

此视图已经构建,等式中缺少的部分是使锚链接到位。

该视图目前包含3个自定义模板文件:

视图视场 - 类别 - page.tpl.php中

<article id="NEED THE TERM ID HERE">
  <header>
    <h2 class="flag-heading"><?php print $fields['name']->content; ?> <span>in association with <?php print $fields['field_sponsor']->content; ?> </span></h2>
  </header>
  <div class="table">
    <div class="table-cell">
      <?php print $fields['field_category_image']->content; ?>
    </div>
    <div class="table-cell">
      <?php print $fields['description']->content; ?>
    </div>
  </div>
</article>

视图视场 - 类别 - block.tpl.php

<li><a href="NEED THE TERM ID HERE"><?php print $fields['name']->content; ?></a></li>

视图视图 - 类别 - block.tpl.php

<ul>
    <?php print $rows; ?>
</ul>

我尝试在顶部块视图链接上使用视图上下文过滤器重写,没有运气。

我需要的只是TERM ID的变量 - 我已经完成了可用变量的var转储,我可以看到该列表中的TID,但不知道如何在视图中引用它-fields模板文件,无法在线找到解决这个最简单概念的内容。

页面和块视图设置的屏幕截图:

Block view Page view

2 个答案:

答案 0 :(得分:2)

最后赢得了我的论点,这个跳转列表是完全冗余和愚蠢的,所以它将被删除,但是,我确实设法输出TID,这是相当明显的,因为这些事情经常是......

视图视场 - 类别 - block.tpl.php

<li>
    <a href="#cat<?php print($view->result[$view->row_index]->tid); ?>"><?php print $fields['name']->content; ?></a>
</li>

视图视场 - 类别 - page.tpl.php中

<article id="cat<?php print($view->result[$view->row_index]->tid); ?>">
  <header>
    <h2 class="flag-heading"><?php print $fields['name']->content; ?> <span>in association with <?php print $fields['field_sponsor']->content; ?> </span></h2>
  </header>
  <div class="table">
    <div class="table-cell">
      <?php print $fields['field_category_image']->content; ?>
    </div>
    <div class="table-cell">
      <?php print $fields['description']->content; ?>
    </div>
  </div>
</article>

变量显然位于视图数组中,它只是获取当前视图项索引的一种情况。

答案 1 :(得分:0)

添加

<?php print $fields['tid']->content; ?>

应该在views-view-fields中给出TID - xxx - page.tpl.php和--block.tpl.php

确保将字段设置为删除任何默认包装,您应该好好去。