3

I have the given Structure: Root category -> First level categories-> Second level categories

The Root is fetched by the regarding repository (extended sys_category repository) and the default query setting ->setLanguageOverlayMode(true).

The first level of children is fetched in the requested language but the second level of children are only returned by the getter if I make a request in the default language.

$rootCategory (there is no translation of this element)

$rootCategory->getChildren() (returns ObjectStorage of translated objects)

$childCategory->getChildren() (returns empty ObjectStorage if language is different than default)

How do I get also all nested child elements in their translated overlay version?

This are my settings:

TypoScript:

config {
    sys_language_overlay = 1
    sys_language_mode = strict
}

TCA:

$newFields = [
    'children' => [
        'exclude' => true,
        'label' => 'LLL:EXT:myext/Resources/Private/Language/locallang_db.xlf:tx_myext_domain_model_filter.children',
        'config' => [
            'type' => 'inline',
            'foreign_table' => 'sys_category',
            'foreign_field' => 'parent',
            'foreign_table_where' => 'AND deleted = 0',
            'maxitems' => 9999,
            'behaviour' => [
                'allowLanguageSynchronization' => true
            ],
            'appearance' => [
                'collapseAll' => 1,
                'levelLinksPosition' => 'top',
                'showSynchronizationLink' => 1,
                'showPossibleLocalizationRecords' => 1,
                'showAllLocalizationLink' => 1
            ],
        ],

    ],
];

Site config:

base: /
baseVariants: {  }
disableStaticFileCache: false
errorHandling: {  }
languages:
  -
    title: Deutsch
    enabled: true
    base: /
    typo3Language: de
    locale: de_DE.UTF-8
    iso-639-1: de
    websiteTitle: ''
    navigationTitle: ''
    hreflang: de-DE
    direction: ''
    flag: de
    languageId: '0'
  -
    title: English
    enabled: true
    base: /en/
    typo3Language: default
    locale: en_UK.UTF-8
    iso-639-1: en
    websiteTitle: English
    navigationTitle: English
    hreflang: en-UK
    direction: ''
    fallbackType: strict
    fallbacks: ''
    flag: en-us-gb
    languageId: '1'
  -
    title: French
    enabled: true
    base: /fr/
    typo3Language: fr
    locale: fr_FR.UTF-8
    iso-639-1: fr
    websiteTitle: French
    navigationTitle: French
    hreflang: fr-FR
    direction: ''
    fallbackType: strict
    fallbacks: ''
    flag: fr
    languageId: '2'
rootPageId: 1
routes: {  }
Jonas
  • 349
  • 3
  • 21

0 Answers0