You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Drupal8如何使用term name而非term id创建taxonomy视图页面

Drupal 8 Views 基于分类术语URL别名自定义列表页路径配置方法

你当前已搭建可正常运行的分类关联节点列表Views页,原路径为taxonomy/term/%,采用分类ID作为上下文筛选规则,要实现resource/[术语URL别名](如resource/industry对应原taxonomy/term/152)的访问效果,按以下步骤配置即可,无需改动原有筛选逻辑:

  • 第一步:修改Views页面基础路径
    进入目标Views的编辑界面,在页面设置区域找到路径配置项,将原有路径taxonomy/term/%修改为resource/%,先保存路径配置。
  • 第二步:调整上下文筛选校验规则(核心配置)
    找到你已经添加的「分类术语ID」上下文筛选器,点击进入配置页:
    1. 下拉找到校验规则区域,勾选「指定校验规则」
    2. 校验器下拉选择「分类术语(Taxonomy term)」
    3. 勾选你要匹配的对应词汇表,避免跨词汇表出现匹配错误
    4. 找到参数类型下拉选项,选择「分类术语URL别名(Taxonomy term URL alias)」——这个配置会让Views自动把URL中传入的别名映射为对应术语的数字ID,直接复用你原有的ID筛选逻辑,不需要重写筛选规则
    5. 校验失败的响应动作按需选择即可,一般选显示404页面
      配置完成后保存上下文筛选设置。
  • 第三步:批量配置术语URL别名(可选,适合大量术语场景)
    如果你还未给术语设置对应格式的别名,进入后台URL别名模式配置页(路径/admin/config/search/path/patterns),给目标词汇表添加别名规则,模式填写resource/[term:name],开启批量更新即可自动生成所有术语的对应访问别名,无需手动逐个配置。
  • 第四步:路由冲突处理(访问跳转到系统默认术语页时再配置)
    如果配置完成后访问resource/xxx跳转到了系统自带的分类术语详情页,有两种处理方式:
    • 在Views页面设置中勾选「覆盖默认分类术语页面」,直接用当前Views替换系统默认的术语页路由
    • 安装Disable term pages模块直接关闭系统自带的术语前台路由,避免优先级冲突
  • 最后一步:清除Drupal全站缓存,访问对应别名路径即可正常展示关联节点列表。

注意:不要直接把上下文筛选规则改成按术语名称匹配,术语名称可能存在重名、特殊字符转义问题,用「别名校验+原有ID筛选」的方案兼容性、匹配准确率和性能都更优。

配置参考截图:

内容的提问来源于stack exchange,提问作者MiltonMethod

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 19:24:22