TYPO3 9路由-该参数将被默认值覆盖 [英] TYPO3 9 Routing - the parameter gets overwritten by the defaults

查看:21
本文介绍了TYPO3 9路由-该参数将被默认值覆盖的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试创建一个类似/mainategory/subategory/的URL结构,它看起来不错,但在我的代码中,它丢失了参数"mwWsCategory2",并用"deaults"下的值替换它。在本例中,参数"mwWsCategory2"在extbase-Controller中将为空,但是url看起来很好并且正确。

在获得正确的参数和URL之前,我尝试删除"Defaults",但"mwsCategory2"是可选的,因此/mainategory2不起作用-但我需要该选项。

因此,我还尝试保留"默认值",但在"方面"下删除了"Categyname2"。比/mainategory/2/看起来要好,但是我得到了参数。所以它一定是DEFAULTS和PersistedAliasMapper的组合-我认为。也许吧。我希望比我聪明的人能给出答案。:)

routeEnhancers:
  Werbemittelshop:
    type: Extbase
    extension: Mwwerbemittelshop
    plugin: Mwwerbemittelshop
    routes:
      - routePath: '/{categoryname}/{categoryname2}'
        _controller: 'MwWsCategories::category'
        _arguments:
          categoryname: 'mwWsCategory'
          categoryname2: 'mwWsCategory2'
    defaults:
      categoryname2: ''
    defaultController: 'MwWsCategories::category'
    aspects:
      categoryname:
        type: PersistedAliasMapper
        tableName: tx_mwwerbemittelshop_domain_model_mwwscategories
        routeFieldName: slug
      categoryname2:
        type: PersistedAliasMapper
        tableName: tx_mwwerbemittelshop_domain_model_mwwscategories
        routeFieldName: slug

推荐答案

尝试此操作:

routeEnhancers:
  Werbemittelshop:
    type: Extbase
    extension: Mwwerbemittelshop
    plugin: Mwwerbemittelshop
    routes:
      - routePath: '/{categoryname}/{categoryname2}'
        _controller: 'MwWsCategories::category'
        _arguments:
          categoryname: mwWsCategory
          categoryname2: mwWsCategory2
    defaults:
      categoryname2: ''
    defaultController: 'MwWsCategories::category'
    aspects:
      mwWsCategory:
        type: PersistedAliasMapper
        tableName: tx_mwwerbemittelshop_domain_model_mwwscategories
        routeFieldName: slug
      mwWsCategory2:
        type: PersistedAliasMapper
        tableName: tx_mwwerbemittelshop_domain_model_mwwscategories
        routeFieldName: slug

在"_arargements"下,您正在将routePath占位符映射到变量/方面。

Category Name=>mwWsCategory

但是使用占位符名称定义方面。只需使用映射的方面/变量名,就可以在链中映射定义。

这篇关于TYPO3 9路由-该参数将被默认值覆盖的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆