TYPO3 9.5 中自定义页面 doktype 的站点路由
Site routing for custom page doktypes in TYPO3 9.5
我在 TYPO3 9.5 中创建了一个基于页面的新闻功能。这些页面有特殊的doktypes以便将它们与其他页面分开,构建了一个插件以将页面显示为列表。
我接下来要做的是增强这些页面类型的站点路由。我想将 uid 附加到 slug。
我试着用 SimpleEnhancer 和 CustomEnhancer 来解决它,像这样:
routeEnhancers:
Post:
type: Custom
routePath: '/{posttitle}'
aspects:
posttitle:
type: PersistedPatternMapper
tableName: 'pages'
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,
]
]
]
];
我在 TYPO3 9.5 中创建了一个基于页面的新闻功能。这些页面有特殊的doktypes以便将它们与其他页面分开,构建了一个插件以将页面显示为列表。
我接下来要做的是增强这些页面类型的站点路由。我想将 uid 附加到 slug。
我试着用 SimpleEnhancer 和 CustomEnhancer 来解决它,像这样:
routeEnhancers: Post: type: Custom routePath: '/{posttitle}' aspects: posttitle: type: PersistedPatternMapper tableName: 'pages' 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,
]
]
]
];