如何在D8视图中展示词汇表术语及下属关联项目列表?
当然可行!我来给你一套具体的操作步骤,完美实现你要的这种术语+关联项目的行式展示效果:
实现Drupal 8视图术语关联项目的展示
1. 基础视图配置
新建视图,选择展示内容(如果你的「项目」是内容节点的话),先设置好基础过滤条件——比如只显示已发布内容、指定目标内容类型,避免无关内容干扰。
2. 添加术语关系与核心字段
- 进入视图的高级面板,点击「添加关系」,找到你内容类型里关联分类术语的字段(比如「分类术语:字段_你的分类标签」),添加这个关系,给它起个好认的别名比如「关联术语」。
- 添加分类术语:名称字段,选择刚才的「关联术语」关系,记得勾选「从显示中排除」——我们要用它做分组依据,不需要单独显示。
- 添加你要展示的项目字段(比如内容:标题),这就是每个项目的核心内容。
3. 启用聚合实现项目拼接
这是让同一术语下的项目合并成一行的关键:
- 在视图的高级面板里,找到「使用聚合」并勾选,保存设置。
- 回到字段列表,编辑刚才添加的内容:标题字段,在「聚合设置」里选择「分组拼接」,然后把分隔符设置为
-——这样同一个术语下的所有项目标题就会被短横线连起来。
4. 自定义行样式实现目标格式
- 在视图的格式设置里,选择「未格式化列表」(或者表格,根据偏好选),点击旁边的「设置」。
- 添加排序条件:按分类术语:名称排序(基于之前的关联关系),确保术语按顺序排列。
- 把行样式改成「自定义文本」,在文本输入框里填写类似这样的内容(替换成你实际的字段机器名):
这里[term_name] - [node_title][term_name]是你添加的分类术语名称字段的机器名,[node_title]是拼接后的内容标题字段机器名。
5. 预览与微调
保存视图后预览,你就能看到完全符合需求的效果:
term 1 - item 1 - item 2
term 2 - item 3 - item 4
term 3 - item 5 - item 6
如果觉得样式不够美观,还可以给视图添加自定义CSS类,或者调整行样式的HTML结构来优化显示。
内容的提问来源于stack exchange,提问作者Gilles Lengy
相关产品推荐
相关产品推荐

