TYPO3:详细视图的正确 slug 生成
TYPO3: correct slug generation for detail-view
我的 fe_users 增强扩展有这个配置:
routeEnhancers:
PhonebookPlugin:
type: Extbase
limitToPages:
- 21
- 666
extension: Phonebook
plugin: tx_phonebook_phonebook
routes:
-
routePath: '/seite/{page}'
_controller: 'PhonebookItem::list'
_arguments:
page: '@widget_0/currentPage'
-
routePath: '/detail/{user}'
_controller: 'PhonebookItem::show'
_arguments:
user: 'phonebookItem'
defaultController: 'PhonebookItem::list'
defaults:
page: '0'
requirements:
page: '\d+'
但不是像 https:/domain.tld/telefonbuch/seite/7
和 https:/domain.tld/telefonbuch/detail/123
这样的 URL
列表分页链接的 URL 如下所示:
https://domain.tld/telefonbuch?tx_phonebook_phonebook[%40widget_0][currentPage]=7&cHash=0c9036d3c9c4b72d334bb12a8dc2eb74
以及详细视图:
https://domain.tld/telefonbuch?tx_phonebook_phonebook%5Baction%5D=show&tx_phonebook_phonebook%5Bcontroller%5D=PhonebookItem&tx_phonebook_phonebook%5Bpage%5D=7&tx_phonebook_phonebook%5BphonebookItem%5D=123&cHash=7cc4e3152cd658e7ee209b05d1bedfab
什么配置丢失或错误?
首先,除非你没有故意命名你的插件 tx_phonebook_phonebook
那么这个值是错误的。应该是电话簿。
一般来说,您缺少方面。您的 {variables}
没有定义。
aspects:
page:
type: StaticRangeMapper
start: '1'
end: '100'
user:
type: PersistedPatternMapper
tableName: fe_users
routeFieldPattern: '^(?P<username>.+)'
routeFieldResult: '{username}'
您将不得不尝试使用 table 列。您应该注意空格、特殊字符大写字母等。您可以随时在 fe_users 上添加一个 slug 字段并添加您自己的配置。
我的 fe_users 增强扩展有这个配置:
routeEnhancers:
PhonebookPlugin:
type: Extbase
limitToPages:
- 21
- 666
extension: Phonebook
plugin: tx_phonebook_phonebook
routes:
-
routePath: '/seite/{page}'
_controller: 'PhonebookItem::list'
_arguments:
page: '@widget_0/currentPage'
-
routePath: '/detail/{user}'
_controller: 'PhonebookItem::show'
_arguments:
user: 'phonebookItem'
defaultController: 'PhonebookItem::list'
defaults:
page: '0'
requirements:
page: '\d+'
但不是像 https:/domain.tld/telefonbuch/seite/7
和 https:/domain.tld/telefonbuch/detail/123
这样的 URL
列表分页链接的 URL 如下所示:
https://domain.tld/telefonbuch?tx_phonebook_phonebook[%40widget_0][currentPage]=7&cHash=0c9036d3c9c4b72d334bb12a8dc2eb74
以及详细视图:
https://domain.tld/telefonbuch?tx_phonebook_phonebook%5Baction%5D=show&tx_phonebook_phonebook%5Bcontroller%5D=PhonebookItem&tx_phonebook_phonebook%5Bpage%5D=7&tx_phonebook_phonebook%5BphonebookItem%5D=123&cHash=7cc4e3152cd658e7ee209b05d1bedfab
什么配置丢失或错误?
首先,除非你没有故意命名你的插件 tx_phonebook_phonebook
那么这个值是错误的。应该是电话簿。
一般来说,您缺少方面。您的 {variables}
没有定义。
aspects:
page:
type: StaticRangeMapper
start: '1'
end: '100'
user:
type: PersistedPatternMapper
tableName: fe_users
routeFieldPattern: '^(?P<username>.+)'
routeFieldResult: '{username}'
您将不得不尝试使用 table 列。您应该注意空格、特殊字符大写字母等。您可以随时在 fe_users 上添加一个 slug 字段并添加您自己的配置。