TYPO3 Aspect PersistedAliasMapper无法正常运行

问题描述

我正在运行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

问题是当我访问此链接时,TYPO3响应并显示404 Not Found错误找不到页面页面不存在或无法访问。原因:请求的页面不存在

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

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

我在做什么错?有没有办法调试这个?我不知道该去哪里潜水。

谢谢!

解决方法

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