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

TYPO3使用routeEnhancers配置插件路由时无参数及分页路由失效问题

TYPO3 插件路由规则故障修复方案

故障根因

  1. 原有配置中letter参数的正则要求为必须匹配1位英文字母,但同时设置了默认值为空字符串,当selectedLetter参数为空时,会触发带{letter}占位符的路由规则,空值不符合正则要求导致报错。
  2. 未配置无任何参数的根路由,无法匹配example.com/page/的场景。
  3. 路由优先级逻辑缺失,空selectedLetter的分页请求会和带字母筛选的分页请求混淆。

修改后的配置

routeEnhancers:
  MyPluginList:
    type: Extbase
    extension: MyExtension
    plugin: list
    routes:
      # 根路由:对应无筛选无分页的列表首页
      -
        routePath: '/'
        _controller: 'MyController::list'
      # 带字母筛选的列表页
      -
        routePath: '/a-z/{letter}'
        _controller: 'MyController::list'
        _arguments:
          letter: 'selectedLetter'
      # 带字母筛选的分页页
      -
        routePath: '/a-z/{letter}/more/{page}'
        _controller: 'MyController::list'
        _arguments:
          letter: 'selectedLetter'
          page: 'currentPage'
      # 无字母筛选的全局分页页
      -
        routePath: '/page-{page}'
        _controller: 'MyController::list'
        _arguments:
          page: 'currentPage'
    defaultController: 'MyController::list'
    requirements:
      letter: '^[a-zA-Z]{1}$'
      page: '\d+'
    defaults:
      page: '0'
    aspects:
      page:
        type: StaticRangeMapper
        start: '1'
        end: '100'
      letter:
        type: StaticValueMapper
        map:
          a: A
          b: B
          c: C
          d: D
          e: E
          f: F
          g: G
          h: H
          i: I
          j: J
          k: K
          l: L
          m: M
          n: N
          o: O
          p: P
          q: Q
          r: R
          s: S
          t: T
          u: U
          v: V
          w: W
          x: X
          y: Y
          z: Z

额外注意事项

  1. 移除了defaults配置项下的letter: ''默认值,确保没有selectedLetter参数的请求不会匹配带{letter}占位符的路由。
  2. 路由顺序按照从具体到宽泛的规则排列,避免出现高优先级路由覆盖低优先级路由的问题。
  3. 生成分页链接时需要做逻辑判断:如果当前存在选中的筛选字母,分页链接必须携带selectedLetter参数,会自动匹配带/a-z/前缀的分页路由;如果没有筛选字母,分页链接不要携带selectedLetter参数(包括空值也不要传递),会自动匹配全局/page-{page}路由。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 03:06:03