Typo3 如何为一个简单的GET参数设置routeEnhancers?

Typo3 如何为一个简单的GET参数设置routeEnhancers?,typo3,typo3-9.x,Typo3,Typo3 9.x,我正在尝试为一个简单的GET参数创建RouteHander: /?页码=1&cHash= 此参数(包括cHash)由多页网站地图(纯打字脚本)的页面浏览器生成,可使用以下简化的打字脚本进行模拟: page.10 = COA page.10{ 10 = LOAD_REGISTER 10{ pageNumber.cObject = TEXT pageNumber.cObject.value = 0 pageNumber.cObject.

我正在尝试为一个简单的GET参数创建RouteHander:

/?页码=1&cHash=

此参数(包括cHash)由多页网站地图(纯打字脚本)的页面浏览器生成,可使用以下简化的打字脚本进行模拟:

page.10 = COA
page.10{
    10 = LOAD_REGISTER
    10{
        pageNumber.cObject = TEXT
        pageNumber.cObject.value = 0
        pageNumber.cObject.override.data= GP:pageNumber
        pageNumber.cObject.wrap = (|+1)
        pageNumber.prioriCalc = intval
    }
    20 = TEXT
    20{
        data = register:pageNumber
        typolink {
            parameter.data = TSFE:id
            additionalParams.data = register:pageNumber
            additionalParams.wrap = &pageNumber=|
        }
    }
}
结果(无常规改进):

  • 在第0页(根页“/):
  • 在第1页:
  • 在第2页:
等等。这和预期的一样,但我希望有更好的URL

我的routeEnhancers尝试重写URL:

routeEnhancers:
  PageBrowser:
    type: Simple
    routePath: '/page/{page_number}'
    requirements:
      page_number: '[0-9]'
    _arguments:
      page_number: 'pageNumber'
此routeEnhancer的结果:

  • 在第0页:
  • 不幸的是,第1页上的链接保持不变:
似乎编码有效,但解码失败。
我做错了什么?

看起来页码和页码有些混淆:

我认为这个设置可以满足您的需求。(我也不得不手动删除缓存)


看起来页码和页码有些混淆:

我认为这个设置可以满足您的需求。(我也不得不手动删除缓存)


我以为你在找这样的东西。我没有质疑它的使用。好吧,那么我不知道你想做什么:(谢谢。我对我的问题做了一些编辑来澄清它。它是关于用新的核心功能“routeEnhancers”美化URL的,其工作原理与旧的RealURL类似。我以为GET参数pageNumber已分配给参数PageU number。我选择了不同的拼写来区分它们。您的示例看起来不错,比我的好,但它会导致链接上附加一个裂缝:/page/2/?cHash=…您知道如何摆脱此问题吗?T他说:如果要求太宽松,URL签名参数(“cHash”)添加到无法删除的URL结尾。
typolink.useCacheHash=false
应该可以消除裂痕。我知道,裂痕不是来自routeEnhancer,而是来自typolink。我尝试了你的建议,但不幸的是,它不起作用。即使我删除routeEnhancer并将useCacheHash设置为false,我仍然会失败一个缺口。你认为这是一个错误,还是我仍然遗漏了什么?非常感谢你的帮助!我以为你在寻找这样的东西。我没有质疑它的使用。那么,我不知道你想做什么:(谢谢。我编辑了我的问题来澄清它。这是关于用新的核心功能美化URL“常规汉塞尔斯",其工作原理与旧的RealURL类似。我以为GET参数pageNumber已分配给参数PageU number。我选择了不同的拼写来区分它们。您的示例看起来不错,比我的好,但它会导致链接上附加一个裂缝:/page/2/?cHash=…您知道如何摆脱此问题吗?T他说:如果要求太宽松,URL签名参数(“cHash”)添加到无法删除的URL结尾。
typolink.useCacheHash=false
应该可以消除裂痕。我知道,裂痕不是来自routeEnhancer,而是来自typolink。我尝试了你的建议,但不幸的是,它不起作用。即使我删除routeEnhancer并将useCacheHash设置为false,我仍然会失败你认为这是一只虫子,还是我还遗漏了什么?非常感谢你的帮助!
page = PAGE
page.10 = COA
page.10{
    10 = LOAD_REGISTER
    10{
        pageNumber.cObject = TEXT
        pageNumber.cObject.value = 0
        pageNumber.cObject.override.data= GP:pageNumber
        pageNumber.cObject.wrap = (|+1)
        pageNumber.prioriCalc = intval
    }
    20 = TEXT
    20{
        data = register:pageNumber
        typolink {
            parameter.data = TSFE:id
            additionalParams.data = register:pageNumber
            additionalParams.wrap = &pageNumber=|
        }
    }
}


routeEnhancers:
  PageBrowser:
    type: Simple
    routePath: '/page/{pageNumber}'
    requirements:
      pageNumber: '[0-9]+'