php - TYPO3 9.5 中自定义页面 doktype 的站点路由
问题描述
我在 TYPO3 9.5 中基于页面创建了一个新闻功能。这些页面有特殊的 doktypes 以便将它们与其他页面分开,构建了一个插件来将页面显示为列表。
接下来我想做的是增强这些页面类型的站点路由。我想将 uid 附加到 slug 上。
我尝试使用 SimpleEnhancer 和 CustomEnhancer 来解决它,如下所示:
路由增强器: 邮政: 类型:定制 routePath: '/{posttitle}' 方面: 帖子标题: 类型:PersistedPatternMapper 表名:'页面' routeFieldPattern: '^(?P.+)-(?P\d+)$' routeFieldResult: '{title}-{uid}'
但我想我的配置是错误的。
是否有机会通过新的站点路由解决将 uid 附加到 slug 的问题?
解决方案
简短版本:自 2020 年 3 月 15 日起,将来可以使用 TCA 覆盖覆盖生成选项(更多信息:https ://forge.typo3.org/issues/87364 )。
它现在是这样工作的:
$GLOBALS['TCA']['pages']['types']['ID-OF-CUSTOM-DOKTYPE']['columnsOverrides'] = [
'slug' => [
'config' => [
'generatorOptions' => [
'fields' => ['title', 'uid'],
'fieldSeparator' => '-',
'prefixParentPageSlug' => true,
]
]
]
];
推荐阅读
- node.js - AWS S3 上传后,图像损坏
- future - Vapor:在所有修改完成之前返回路由
- c# - 引导类(卡)在 asp.net 视图中不起作用
- android - 如何在统一集线器上激活构建和运行,适用于 android
- c# - DateTime.Now.ToString("M/d/yyyy HHmmss") 仅在部署位置返回月份
- c# - 如何使用构造函数访问控制器中的数据库连接
- scala - 试图理解 Scala 中的 if 语句
- google-cloud-firestore - Firestore 规则:仅当文档字段为 false 时才显示文档
- microsoft-graph-api - Microsoft 组/团队:无法为 Planner 应用创建计划
- django - python for 带有 if 的语句