Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
326 views
in Technique[技术] by (71.8m points)

extbase - TYPO3 v10 routeEnhancer generates slug but can't resolve it

I have a weird behavior in my own extension when using a slug.

The slug generator in my TCA looks like this:

        'slug' => [
        'label' => 'Slug',
        'exclude' => 1,
        'config' => [
            'type' => 'slug',
            'generatorOptions' => [
                'fields' => ['title'],
                'fieldSeparator' => '/',
                'prefixParentPageSlug' => true,
                'replacements' => [
                    '/' => '',
                ],
            ],
            'fallbackCharacter' => '-',
            'eval' => 'uniqueInSite',
            'default' => ''
        ],
    ],

It generates the slugs correctly. It is also persisted as expected in the database.

The routeEnhancer looks like this:

ReferenceDetail:
 type: Extbase
 limitToPages:
  - 82
 extension: reference
 plugin: referencedetail
 routes:
  - routePath: '/{ref}'
    _controller: 'Reference::show'
    _arguments:
      ref: reference
 aspects:
  ref:
    type: PersistedAliasMapper
    tableName: tx_reference_domain_model_reference
    routeFieldName: slug

In my frontend everything looks fine. Links look like: https://xyz.info/reference/detail/name-reference/

But when clicking on it I end up with a 404. When I switch from routeFieldName: slug to routeFieldName: name or routeFieldName: uid it works perfectly? Has anyone an idea what might goes wrong with my slug?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Figured it out.

This issue is related to: https://forge.typo3.org/issues/91397

The objects I store are outside of my pageRoot becasue I have a multidomainsite. Therefore you have to set 'eval' => 'unique' instead of 'eval' => 'uniqueInSite' in your TCA Slug config.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...