typo3 - TYPO3:为详细视图正确生成 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}'
您将不得不使用表格列。您应该注意空格、特殊字符大写字母等。您始终可以在 fe_users 上添加一个 slug 字段并添加您自己的配置。
推荐阅读
- mongodb - 如何使用 mongodb 解决打字稿问题
- f# - F# VS 2019 语法颜色编码
- kubernetes - 如何在 dnsConfig 中将节点 ip 设置为名称服务器?
- java - 如何在 Java Spring 中合并两个列表
- swift - Xcode:持续消息。文档存在已发现并修复的问题
- c++ - 如何避免在模板类中重新定义 typedef?
- sql - SQL 命令同时从两个表中选择
- android - 媒体播放器创建方法似乎不适用于我的项目,导致我的应用程序在启动第一个活动时崩溃。有人帮我请
- react-native - React Native 可能出现未处理的 Promise Rejections 错误
- php - 在已经找到不想使用的兼容路线之后,如何在 laravel 中检查兼容路线?