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,
             ]
         ]
     ]
 ];