0

我正在运行 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 似乎无法将 slug 映射到数据库实体。这是 TCA slug 字段的定义:

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

我究竟做错了什么?有没有办法调试这个?我不知道在哪里可以更深入地潜水。

提前致谢!

4

1 回答 1

0

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

于 2020-09-15T08:33:03.027 回答