Typo3 将两个GET参数映射到RouteEnhancers赢得的讲话URL';我不能正常工作

Typo3 将两个GET参数映射到RouteEnhancers赢得的讲话URL';我不能正常工作,typo3,typo3-9.x,Typo3,Typo3 9.x,我在TYPO3网站上遇到了一些麻烦 我有两个GET参数,我想映射到一个讲话的url。我有参数对比度和大字体 如果对比度设置为1,我想在url中附加一个/kontrast 如果bigfont设置为1,我想在url中附加一个/bigfont 如果两者都设置为1,则应添加两个url段(/kontrast/bigfont) 我尝试为它们中的每一个配置RouteHancer,如下所示: Kontrast: type: Simple routePath: '/{contrast}'

我在TYPO3网站上遇到了一些麻烦

我有两个GET参数,我想映射到一个讲话的url。我有参数对比度和大字体

如果对比度设置为1,我想在url中附加一个/kontrast
如果bigfont设置为1,我想在url中附加一个/bigfont
如果两者都设置为1,则应添加两个url段(/kontrast/bigfont)

我尝试为它们中的每一个配置RouteHancer,如下所示:

Kontrast:
    type: Simple
    routePath: '/{contrast}'
    defaults:
      contrast: '0'
    aspects:
      contrast:
        type: StaticValueMapper
        map:
          kontrastmodus: '1'
  GrosseSchrift:
    type: Simple
    routePath: '/{bigfont}'
    defaults:
      bigfont: '0'
    aspects:
      bigfont:
        type: StaticValueMapper
        map:
          bigfont: '1'
如果两者中只有一个设置为1(url后面附加了/kontrast或/bigfont),则此操作有效。但如果两者都设置为1,它将再次使用正常的GET参数

因此,我尝试在一个RouteHancer中配置这两个:

KontrastGrosseSchrift:
    type: Simple
    routePath: '/{contrast}/{bigfont}'
    defaults:
      bigfont: '0'
      contrast: '0'
    aspects:
      bigfont:
        type: StaticValueMapper
        map:
          bigfont: '1'
      contrast:
        type: StaticValueMapper
        map:
          kontrast: '1'
这仅适用于设置为1的对比度(附加了/kontrast),但bigfont根本不起作用
如果只有bigfont设置为1,它将附加/0/bigfont(不应该有/0),如果两者都设置为1,它将附加/kontrast/bigfont(应该是这样),但在这两种情况下都会抛出“未找到页面”错误

有人能帮我正确配置吗


提前感谢。

这是不可能的,因为TYPO3 Core永远不会知道在构建包含两个GET参数的URL时,应该首先使用哪一个参数


/my page/0/1
我不确定。但是,尝试将
需求:
添加到您的
yaml
中,这可能对您有用。试试看。使用“帮助的需求”,如果我使用上述三种设置和附加的需求,我可以使用所有三种url可能性正确访问页面。但是现在,当两个参数都设置为1时,FE中的链接生成无法正常工作。我使用取消设置对比度,但它将输出类似site.de/0/1的url(如果是site.de/kontrast/bigfont/before)。有什么想法吗?如果你的问题已经解决,你可以发布为答案并关闭这个。这也会帮助别人!毕竟,分享就是关心!!对不起,编辑了上面的评论。FE中的链接生成现在无法正常工作