首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在节点/分类法页上添加具有上下文筛选器的视图

在节点/分类法页上添加具有上下文筛选器的视图
EN

Drupal用户
提问于 2018-11-26 09:29:41
回答 1查看 46关注 0票数 0

Druapl 7-我有一个名为“目的地”的分类词汇和一个名为“住宿”的实体。住宿实体包含个别住宿的名称,为了简化,让我们使用酒店。所以:

实体类型:住宿

  • X-圣地亚哥酒店
  • Y-巴塞罗那酒店
  • Z-罗马酒店

我想要做的是创建页面,显示在哪个城市有哪些住宿。因此,我需要为每个页面创建一个页面:

/圣地亚哥/住宿/巴塞罗那/住宿/罗马/住宿

我可以通过添加一个自定义页面来做到这一点:

/admin/structure/page/add

我已经创建了一个视图,但无法完全理解如何使用上下文过滤器和关系来只显示每张住宿页面上可用的酒店。

Drupal如何“知道”这个页面应该显示圣地亚哥的酒店:

/圣地亚哥/住宿

我理解上下文过滤器和关系,并一直使用它们,但不知道如何在这种情况下做到这一点。

创建这些页面并添加视图的最佳方法是什么?

EN

回答 1

Drupal用户

回答已采纳

发布于 2018-11-26 22:09:38

您已经有了一些视图,这些视图列出了带有分类法术语标记的所有内容。视图称为Taxonomy term,但它是一个内容类型视图,列出了使用特定术语标记的节点。

您可以克隆分类法术语视图并编辑该克隆,以使其适应特定的住宿需求。如果您不需要原始Taxonomy term视图,则将其禁用。但是,您也可以将它与克隆实例一起启用。

要更改到accommodation/%的路径,第一部分不应该是变量。

还添加一个新的过滤器Content: Type,并选择仅住宿。

您还可以更改为使用字段,而不是使用内容,以便更好地控制每个容纳结果中显示的内容。

使用此设置,您将得到以术语ID作为参数的页面。如果您的San Diego术语有ID 12,那么如果您访问页面/accommodation/12,您将看到带有圣地亚哥标记的住宿节点。

您不需要在视图以外的任何地方创建这些页面,当您在浏览器地址栏中键入具有术语ID的正确路径时,这些页面已经在工作。

如果要列出所有可用的术语,可以在上下文过滤器的When the filter value is NOT in the URL选项中使用摘要。这样,当用户访问/accommodation路径时,他们会看到一个位置列表。当他们单击某个位置时,他们会看到与其相关的住宿节点。

您可以使用Menu选项将页面添加到您选择的菜单中。

使用术语名称而不是ID

要使术语名称出现在路径中而不是TID中,您必须向该术语添加关系,并使用使用该关系的上下文过滤器Term name。(删除旧的上下文Has term ID。)

我在另一个问题中详细介绍了:如何设置基于第二个URL参数的筛选视图?

注意案例设置,使用破折号;)

使用此配置,您的路径将是/accommodation/san-diego

票数 0
EN
页面原文内容由Drupal提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://drupal.stackexchange.com/questions/273034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档