【问题标题】:Displaying Drupal taxonomy term desciption in node在节点中显示 Drupal 分类术语描述
【发布时间】:2013-12-06 11:26:30
【问题描述】:

出于各种原因,我使用作者的分类术语。每个博客节点都有一个术语参考字段 - field_authors - 列出一个或多个作者。我想做的是显示页面中列出的每个作者的术语描述。我的在线搜索得到了以下代码,我将其放在博客文章标题之后的 node--blog.tpl.php 中。

<?php
$vid = taxonomy_vocabulary_machine_name_load("authors")->vid;
$terms = taxonomy_get_tree($vid, 0, null, true);
$term_count = count($terms);
for ($i = 0; $i < $term_count; $i++) {
$name = $terms[$i]->name;
$id = $terms[$i]->tid;
$description = $terms[$i]->description;
?>
<div id="<?php print $id; ?>" class="taxonomy-description">
<?php print $description; ?>
 </div>
<?php } ?>

正如您可能知道的那样,它会打印词汇“作者”的所有分类术语描述。我想只显示该页面中列出的术语(作者)的描述。

我还想到可能有更好的方法来实现这一点。因此,任何更好的建议将不胜感激。

【问题讨论】:

    标签: php drupal drupal-7 drupal-theming


    【解决方案1】:

    我建议使用Views 模块并创建一个放置在节点上方的块。

    1) 视图的类型为“Taxonomy term”。仅创建一个

    2) 添加与“分类术语:使用作者的内容”的关系,这样您就可以将节点表与分类术语表连接起来(在我的例子中,词汇表是作者)

    3) 为显示的节点的 nid 添加上下文过滤器“Content: Nid”。由于之前的关系,这属于范围。

    4) 相应地配置过滤器设置。设置“提供默认值 -> 来自 url 的内容 ID

    5) 添加 Term Description 字段或您需要在博客节点上方显示的任何其他字段。

    6) 进入区块管理 (admin/structure/block) 并启用新区块以显示在内容上方。您也可以将其设置为仅针对博客内容类型显示,但无论如何,因为我们有用于 nid 的上下文过滤器,所以这不是必需的。

    7) 享受吧!这是视图和 Drupal 强大功能的一个简单示例!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-04
      相关资源
      最近更新 更多