TYPO3 Aspect PersistedAliasMapper 无法正常工作

TYPO3 Aspect PersistedAliasMapper not working as wanted

我是 运行 TYPO3 10.4.6,我写的插件有问题。我正在使用前端插件向我的一个数据库实体显示详细信息。我使用 'slug' 类型的 TCA 字段在数据库中存储自定义 slug,然后在我的 config.yaml 中为我的站点定义以下内容:

routeEnhancers:
  PageTypeSuffix:
    type: PageType
    default: '/'
    index: ''
    map:
      '/': 0
  Hersteller:
    type: Extbase
    limitToPages: [45]
    extension: Myext
    plugin: Hersteller
    routes:
      - { routePath: '/{hersteller}', _controller: 'Hersteller::show', _arguments: {'hersteller': 'hersteller'} }
    defaultController: 'Hersteller::show'
    aspects:
      hersteller:
        type: PersistedAliasMapper
        tableName: 'tx_myext_domain_model_hersteller'
        routeFieldName: 'slug'
        routeValuePrefix: '/'

我的 URL 是按照我的需要生成的:https://example.com/pluginpage/slug

问题是当我访问这个 link 时,TYPO3 响应 404 Not Found 错误: 找不到页面 该页面不存在或无法访问。原因:请求的页面不存在

我错过了什么吗?似乎 TYPO3 无法将 slug 映射到数据库实体。这是 TCA slug 字段的定义:

'slug' => [
    'label' => 'Slug',
    'config' => [
        'type' => 'slug',
        'generatorOptions' => [
            'fields' => ['name'],
            'fallbackCharacter' => '-',
            'eval' => 'unique'
        ]
    ]
],

我做错了什么?有没有办法调试这个?我不知道去哪里看更深入。

提前致谢!

正如 Thomas 已经提到的,您应该删除 routeValuePrefix: '/' 这应该可以解决问题。