分类法:顶级术语视图?

发布于 2024-11-18 23:38:28 字数 71 浏览 2 评论 0 原文

是否可以创建一个视图来仅查看词汇表中的顶级术语?我似乎无法让它停止使用词汇 ID 参数列出所有术语。我只是想见见最高水平的父母。

Is it possible to create a view to only see the top level terms in a vocabulary? I can't seem to get it to stop listing all terms, using a vocabulary ID argument. I just want to see the top level parents.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

顾挽 2024-11-25 23:38:28

这篇博客文章概述了如何做到这一点:http://www.raisedeyebrow.com/2011/01/show-only-top-level-terms-in-a-term-type-drupal-view/

本质上是你需要添加术语父关系。然后添加术语名称过滤器,并使用父关系选择为空(null)。有效地仅显示没有父项的术语。

This blog post outlines how to do it: http://www.raisedeyebrow.com/2011/01/show-only-top-level-terms-in-a-term-type-drupal-view/

Essentially you need to add a relationship of term parent. Then add a filter for term name and select is empty (null) using the parent relationship. Effectively only showing terms that have no parent.

阿楠 2024-11-25 23:38:28

您可以添加Taxonomy: Term ID过滤器并手动选择要显示的术语(如果您的词汇量很大,可能会很乏味)。

或者

您可以为视图中的字段添加模板文件来决定显示哪些术语。例如,在您看来,您可以简单地添加 Taxonomy: Term ID 字段。从视图模块目录(在主题下)将 views-view-field.tpl.php 复制到您的主题文件夹。转到“基本设置”下的“主题信息”,为模板找到合适的名称,并使用该名称创建一个新文件。例如,我的是views-view-field--tax--tid.tpl.php

要仅显示词汇表顶级术语的术语名称,请在新模板文件中使用以下(或类似内容):

<?php 
  if (count(taxonomy_get_parents($output, $key = 'tid')) == 0) {
    $term = taxonomy_get_term($output, $reset = FALSE);
    print $term->name;
  }
?>

You can add a filter of Taxonomy: Term ID and manually choose which terms to show (may be tedious if you have a large vocabulary).

OR

You could add a template file for a field in your view to decide what terms to show. For example, in your view, you could simply add a field of Taxonomy: Term ID. Copy views-view-field.tpl.php to your theme folder from the views module directory (under theme). Go to "Theme information" under "Basic settings" and find a suitable name for the template and create a new file using that name. For example, mine was views-view-field--tax--tid.tpl.php.

To only show term names of the terms that are the top level of a vocabulary, use the following (or similar) in your new template file:

<?php 
  if (count(taxonomy_get_parents($output, $key = 'tid')) == 0) {
    $term = taxonomy_get_term($output, $reset = FALSE);
    print $term->name;
  }
?>
星光不落少年眉 2024-11-25 23:38:28

是的,这是可能的,但不确定观点。以下是获取词汇表中顶级术语的一种方法。

$tree = taxonomy_get_tree($vocabulary_id, 0, -1, 1);

taxonomy_get_tree 返回术语的平面数组,以便您可以在打印时使用它。

问候,
金坦。

Yes its possible but not sure with views.Below is one way to get the top level terms in vocabulary.

$tree = taxonomy_get_tree($vocabulary_id, 0, -1, 1);

taxonomy_get_tree returns a flat array of terms so you can use that while printing.

Regards,
Chintan.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文