本文介绍了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路由-该参数将被默认值覆盖的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!