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: { }