[Frage] Typo3 9.5.2 / Typoscript: sys_language_mode = content_fallback funktioniert nicht bzw. page not found TYPO3-Version: -

  • mranguish mranguish
    TYPO3-Anwärter
    0 x
    5 Beiträge
    0 Hilfreiche Beiträge
    12. 12. 2018, 15:11

    Hi. Ich habe eine weitere Sprache zu meiner Homepage hinzugefügt, ebenso zur sites Konfiguration mit /en/ als entry point. Wenn ich z.B. zu meiner Startseite eine Übersetzung hinzufüge und dann auf die en Sprache wechlse funktiert es wunderbar, abgesehen davon, dass es keinen Fallback auf die Inhalte der Standardsprache gibt, wenn es keine Übersetzung der einzelnen Inhaltselemente gibt. Wenn ich jetzt aber eine andere Seite aufrufe, die keine Übersetzung hat, z.B. /en/kontakt.html, bekomme ich eine 404 page not found exception. Hier meine Konfigurationen:

    [code]page = PAGE
    page {
    typeNum = 0
    config {
    absRefPrefix = /
    no_cache = 1
    noPageTitle = 1
    linkVars = L(0-10)
    language = de
    locale_all = German
    htmlTag_langKey = de-DE
    sys_language_uid = 0
    sys_language_mode = content_fallback
    sys_language_overlay = 1
    }

    [globalVar = GP:L=1]
    page.config {
    sys_language_uid = 1
    }
    [global][/code]

    my sites config:

    [code]

    rootPageId: 2
    base: 'http://some-domain.de/'
    baseVariants: { }
    languages:
    -
    title: 'Meine tolle Webseite'
    enabled: true
    languageId: '0'
    base: /
    typo3Language: de
    locale: de_DE.UTF-8
    iso-639-1: de
    navigationTitle: ''
    hreflang: ''
    direction: ''
    flag: de
    -
    title: 'Andere Sprache'
    enabled: true
    languageId: '1'
    base: /en/
    typo3Language: en
    locale: en_US.UTF-8
    iso-639-1: en
    navigationTitle: ''
    hreflang: ''
    direction: ''
    fallbackType: fallback
    fallbacks: '0'
    flag: en
    errorHandling: { }
    routes: { }
    routeEnhancers:
    PageTypeSuffix:
    type: PageType
    default: .html
    map:
    .html: 0

    [/code]


  • 1
  • thomasharz thomashar...
    Typ im Roten Hemd
    0 x
    3 Beiträge
    0 Hilfreiche Beiträge
    05. 01. 2019, 13:29

    Das Problem existiert auch in Version 9.5.3. Es liegt nicht an der Siteconfig, die generiert wird. Ich hab anderswo dazu eine Lösung gefunden.

    Du musst in der Datei typo3\sysext\core\Classes\Context\LanguageAspectFactory.php die Funktion createFromSiteLanguage ändern.

    [code]public static function createFromSiteLanguage(SiteLanguage $language): LanguageAspect
    {
    $languageId = $language->getLanguageId();
    $fallbackType = $language->getFallbackType();
    if ($fallbackType === 'fallback') {
    $fallbackOrder = $language->getFallbackLanguageIds();
    $fallbackOrder[] = 'pageNotFound';
    $overlayType = LanguageAspect::OVERLAYS_MIXED;
    } elseif ($fallbackType === 'strict') {
    $fallbackOrder = [];
    $overlayType = LanguageAspect::OVERLAYS_ON_WITH_FLOATING;
    } else {
    $fallbackOrder = [0];
    }

    return GeneralUtility::makeInstance(LanguageAspect::class, $languageId, $languageId, $overlayType, $fallbackOrder);
    }
    [/code]

    siehe auch: https://forge.typo3.org/issues/86762

    Thomas

  • wok wok
    Padawan
    0 x
    33 Beiträge
    0 Hilfreiche Beiträge
    29. 01. 2019, 16:52

    In Version 9.5.4 existiert der Fehler auch noch.
    Der Patch https://review.typo3.org/#/c/59344/ behebt den Fehler für die fehlenden Content Elemente auf einer Seite.

    Leider existiert darüberhinaus noch das Problem, dass Seiten, für die weder Content Elemente noch eine lokalisierte Seite angelegt wurde, einen 404-Fehler erzeugen, Beispiel:

    1. Sprache Deutsch
    2. Sprache Englisch
    Man befindet sich auf der Website auf einer englischen Seite und klickt einen Link zu einer Seite, für die noch keine Seitenübersetzung in Englisch vorgenommen wurde. Ergebnis: 404-Fehler.

    Der Fehler ist m.E. gravierend. Gab es auch schon bei früheren Versionssprüngen, wenn ich mich richtig erinnere. Ein Lösung hierfür wäre schön!

  • 1