如何显示父母和孩子的分类学术语?


14

我有这样的词汇:

  • 父母1
    • 儿童1
    • 儿童2
    • 儿童3
  • 父母2
    • 儿童1
    • 儿童2

现在,我想使用一个视图来创建父项及其子项的列表。我尝试使用Views UI来执行此操作,但仅显示术语“上级...”而不是子术语。这对我来说很混乱。

有人可以帮忙吗?感谢:D

Answers:


14

视图可以做到这一点。Views是用于SQL搜索的UI,因此您要设置将由内容数据库构成的查询的定义。

  1. 创建一个视图来显示分类学术语,并在页面上沿此行配置路径category/%。该%是一个通配符,这将使以这种格式相匹配的网址应用的任何价值的观点回应。

  2. 设置显示器和所需的任何过滤器。

  3. 定义一个关系(视图UI页面的第三列)并将其设置为分类术语:父级。这告诉视图在搜索的每个分类术语中查看父字段。(请注意,Drupal的每个术语都包含一个字段,用于标识其父级,而不标识其兄弟姐妹或子级)。

  4. 接下来,我们告诉视图从视图路径中使用的URL解释通配符:定义上下文过滤器(关系选择上方)并将其设置为taxonomy:termID。在表单中,在下拉框中将关系设置为“父级”。这告诉View,在URL中被调用的术语将在搜索时用作分类术语“父”字段的过滤器。

  5. 最后,我们必须完善上下文过滤器。如果愿意,您可以告诉视图在表单的该部分中找不到答案时该怎么办,但是如果视图在查询中找到了解决方案,我们必须告诉它该怎么办。为此,请选中验证复选框。将Validator设置为Taxonomy术语,然后选择适用于您的层次结构的词汇表。然后选择“术语ID”或“转换为术语ID的术语名称”作为“过滤器”值类型。如果您在%中传递的值是术语ID,那么您就完成了。如果传递的值是术语“名称”,那么您可能需要选中此框以将破折号转换为空格。如果您有多个单词术语名称,则URL将带有破折号,它们与术语名称中的实际空格不匹配。这种小的修改使他们同意,因此测试成功。

  6. 最后,转到预览区域,输入您知道有孩子的术语的名称或ID,您应该获得孩子术语的列表。使用排序设置以所需的任何顺序排列它们。

祝好运!


您好Ashlar,谢谢您的解释。您是否知道为什么使用分类学术语:父级未显示在关系列表中?
znat 2012年

2
父母身份是分类术语的一个字段,该字段为“ pid”。它作为术语编号参考存储在此处,因此它已经存在,但仅作为参考。
Ashlar

1
我在“关系”中找到“分类术语:父术语”,但是我无法在“字段”部分中添加父ID。我想在列中显示带有parentID的表(如果存在)。
Nic 2012年

8

我也存档了这个使用视图,但是以稍微不同的方式比较Ashlar。

  1. 添加 分类术语: 上下文过滤条件中的术语ID
  2. 添加 分类术语: RELATIONSHIPS中的父术语。(无需选中此关系。)
  3. 添加分类术语:过滤器部分中的父术语。选择大于0的值
  4. 不要忘记在mycase分类词汇中过滤您的分类术语:机器名称(= Business Directory)。

  5. 添加分类术语:将分类术语渲染到您的字段中,选择与父级的关系 ,然后选中从显示中排除。

  6. 在设置中,在“格式”部分下。在分组字段1中,选择(父)分类术语:渲染分类术语

你应该去。您可以使用视图tpl在组上添加更多的类。我附上了截图以供参考。对不起我的英语不好。

在此处输入图片说明


没有为我工作。显示所有非顶级分类法术语。
Riki137

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.