如何只过滤视图中词汇中的根词?


15

我的词汇结构如下:

  • 根阿尔法
    • 术语Alpha 1
    • 术语Alpha 2
      • 子词Alpha 1
  • 根Beta
  • 根伽玛
    • 术语Gamma 1
    • 术语Gamma 2

如何过滤视图以仅显示词汇的根词?目前,我的视图显示的是根术语以及子术语(术语* *)

从此开始,我想传递参数“ Root Alpha”(或它的tid或上下文中的任何内容),然后将其过滤为仅“ Root Alpha”的直系子代。(术语Alpha *)。过滤到任何深度都将是额外的收获。

如果将所有术语放在一个词根中,这样词汇表就会变成:

  • 真根
    • 根阿尔法
      • 术语Alpha 1
      • 术语Alpha 2
        • 子词Alpha 1
    • 根Beta
    • 根伽玛
      • 术语Gamma 1
      • 术语Gamma 2

我不确定哪种词汇结构更正确,写这篇文章使我意识到我除了要通过观点弄清楚之外,还需要做一些阅读工作。

Answers:


13

对于仅显示基本术语,我有一个解决方案,该解决方案肯定会使某人面对面(至少我做到了):

  1. 将上下文过滤器添加到分类视图
  2. 选择分类术语:父术语

    设置如下:当过滤器值不可用时提供默认值 - 固定值。将值设置为0

是的,仅此而已。没有父母的条款在这里为0。请参阅taxonomy_term_hierarchy表的父字段的描述:

主键:术语的父项的{taxonomy_term_data} .tid。0表示没有父母。


非常感谢您,为此我感到非常高兴。正如一个音符如果有人坚持这一得到,这样做的时候,你不能指定“分类术语”作为验证,因为不存在与TID 0无期限
Phizes

2

如果您具有静态分类法结构,则可以使用filter criterion: Content: Has taxonomy terms (with depth)进行过滤,然后在此处仅选择要过滤的根词:

筛选条件:内容:具有分类术语(含深度)

我希望信息有用。


分类结构不会是静态的,这也不允许我传递参数然后过滤到根词的子代。
2011年

@ moon.watcher:我如何使用分类学术语(有深度)?我仅选择父母,但孩子也出现了。
sokratis 2012年

1

您也可以使用简单的过滤器和非静态分类法结构来完成此操作:

  1. 添加过滤条件:分类术语:父ID
  2. 选择运算符“等于”,并用“ NULL”填充值

在此处输入图片说明

它只会显示分类法的根词,如果以后更改分类法结构,它仍然可以使用...


是的,@ scandel可以处理非静态的分类法结构,但不能处理问题所提出的问题,接受的答案可以。
2014年

0

您可以在页面中WHERE parent = 0使用来选择它db_query()


我不确定“在您的页面中”是什么意思,请解释一下?另外,我不是自己执行查询,而是执行视图,所以我不必更改查询吗?
Phize
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.