Ankündigung

Einklappen
Keine Ankündigung bisher.

Routing-Fehler auf Leser-Seite bei fehlender Sprache

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Routing-Fehler auf Leser-Seite bei fehlender Sprache

    Hallo, ich stehe mal wieder auf dem Schlauch

    Wenn ich bei meinem mehrsprachigen Katalog einen deutschen Eintrag in der Leseransicht aufrufe, bekomme ich eine 404-Meldung, wenn für diesen Eintrag noch keine englische Version angelegt ist. Sobald ich den Eintrag ins Englische übersetze, funktioniert es wieder.

    Unable to generate route for page ID 3014
    ID 3014 ist in diesem Fall die englische Reader-Seite. Nun frage ich mich, ob dieses Verhalten normal ist und ob es sich irgendwie verhindern lässt? Vielleicht vergisst der zukünftige Redakteure manchmal, eine englische Version anzulegen, und dann wäre es schade, wenn man für den deutschen Eintrag keine Leseransicht aufrufen kann.

    Danke im Voraus.

  • #2
    Wenn Deutsch gleich den Basis-Einträgen ist (also keine direkte Sprache) muss in den Systemeinstellungen die Sprachen-Fallbacks aktivieren für Liste und Leser aktiviert werden.

    Klicke auf die Grafik für eine vergrößerte Ansicht

Name: screenshot_295.jpg
Ansichten: 142
Größe: 25,2 KB
ID: 27097

    Getestet in der Online-DEV: https://dev4-13.premium-contao-theme...tes-essen.html

    1 dt. Buch nur veröffentlicht.

    Das englische Geschwisterchen ist unveröffentlicht.
    Zuletzt geändert von Tim; 03.03.2023, 15:49.
    http://www.premium-contao-themes.com

    Kommentar


    • #3
      Danke für die Antwort, ich habe es mit und ohne diesen beiden Einstellungen versucht, aber es ändert nichts.

      Ich habe einen neuen Katalog ausgesetzt und es dort auch getestet, aber auch hier bekomme ich nur eine 404-Seite mit der gleichen Routing-Meldung.

      Es scheint, als hätte meine Installation Probleme mit Reader-Seiten, denn es betrifft nicht nur den Catalog, sondern auch bei News hatte ich ein ähnliches Problem

      https://forum.premium-contao-themes....route-for-page

      Hast du sonst noch eine Idee, woran es liegen könnte oder wäre die Frage besser im Contao-Forum aufgehoben?

      Kommentar


      • #4
        Ist der Theme-Designer aktiv?

        Extern kann ich es nicht beantworten. Es liest sich für mich nach einem falschen Grundaufbau. Reproduzieren kann ich es auch nicht.
        http://www.premium-contao-themes.com

        Kommentar


        • #5
          Der Theme-Designer ist deaktiviert.

          Trotzdem danke, ich werde mal weiter recherchieren und gucken wo der Fehler liegt.

          Kommentar


          • #6
            Sorry aber mir wurde der Tipp gegeben den Stack Trace zu prüfen und nun vermute ich, dass der Fehler im Template nav_cc_changelanguage.html liegen könnte.

            Code:
            ErrorException:
            Warning: Undefined array key "en"
            
            at templates/nav_cc_changelanguage.html5:80
            at include('/var/www/vhosts/meine-domain.de/templates/nav_cc_changelanguage.html5')
            (vendor/contao/core-bundle/src/Resources/contao/library/Contao/TemplateInheritance.php:108)
            at Contao\Template->inherit()
            (vendor/contao/core-bundle/src/Resources/contao/library/Contao/Template.php:295)
            at Contao\Template->parse()
            (vendor/contao/core-bundle/src/Resources/contao/classes/FrontendTemplate.php:43)
            at Contao\FrontendTemplate->parse()
            (vendor/terminal42/contao-changelanguage/src/FrontendModule/ChangeLanguageModule.php:162)
            at Terminal42\ChangeLanguage\FrontendModule\ChangeLan guageModule->generateNavigationTemplate()
            (vendor/terminal42/contao-changelanguage/src/FrontendModule/ChangeLanguageModule.php:129)
            at Terminal42\ChangeLanguage\FrontendModule\ChangeLan guageModule->compile()
            (vendor/contao/core-bundle/src/Resources/contao/modules/Module.php:214)
            at Contao\Module->generate()
            (vendor/terminal42/contao-changelanguage/src/FrontendModule/ChangeLanguageModule.php:70)
            at Terminal42\ChangeLanguage\FrontendModule\ChangeLan guageModule->generate()
            (vendor/contao/core-bundle/src/Resources/contao/library/Contao/Controller.php:435)
            at Contao\Controller::getFrontendModule()
            (vendor/contao/core-bundle/src/Resources/contao/pages/PageRegular.php:190)
            at Contao\PageRegular->prepare()
            (vendor/contao/core-bundle/src/Resources/contao/pages/PageRegular.php:60)
            at Contao\PageRegular->getResponse()
            (vendor/contao/core-bundle/src/Resources/contao/controllers/FrontendIndex.php:320)
            at Contao\FrontendIndex->renderPage()
            (vendor/symfony/http-kernel/HttpKernel.php:163)
            at Symfony\Component\HttpKernel\HttpKernel->handleRaw()
            (vendor/symfony/http-kernel/HttpKernel.php:75)
            at Symfony\Component\HttpKernel\HttpKernel->handle()
            (vendor/symfony/http-kernel/Kernel.php:202)
            at Symfony\Component\HttpKernel\Kernel->handle()
            (web/index.php:44)
            In Zeile 80 des Templates befindet sich diese Zeile:

            PHP-Code:
            $objLangEntry $objCC->findPublishedItemByIdOrAlias($arrLangSiblings$language ]); 

            Am Anfang des Templates habe ich nur die Tabelle und diese Variable gesetzt:

            PHP-Code:
            $baseLanguage 'de'

            Ansonsten habe ich nicht viel an dem Template geändert, außer bei der Ausgabe der Flaggen, weil diese etwas fehlerhaft war.

            Kommentar


            • #7
              Ok, aber das ist kein Template aus dem Theme-Kern, sondern ein kleines freies Template hier im Forum. Darüber hinaus setzt es auch die externe Erw. changelanguage voraus, das nicht unter unserer stetigen Prüfung steht. Kann schon sein, dass dieses Template zu einer falschen Seite routet, weil in diesem Moment kein Geschwister-Eintrag existiert -> en ist undefiniert im Array.
              Pack da eine isset Prüfung vorher rum.

              Ich würde erstmal den Grundaufbau ohne Sonder-Templates und externe Erweiterungen angehen. Wechsel der Sprache erstmal ganz rudimentär über die Startseiten der Sprache.
              Zuletzt geändert von Tim; 06.03.2023, 11:28.
              http://www.premium-contao-themes.com

              Kommentar


              • #8
                Die isset-Prüfung scheint nichts zu bringen (war vielleicht auch an der falschen Stelle), und bei dem heute angelegten Katalog habe ich festgestellt, dass der Fehler immer auftritt, unabhängig davon ob es eine Übersetzung gibt.

                Wenn ich das genannte Template im Langswitcher-Modul entferne, scheint es wieder zu funktionieren. Zumindest beim Catalog, bei den News komischerweise immer noch nicht.

                Ich kann aber eigentlich auf die Sprachwechsler Erweiterung verzichten und werde sie daher wohl einfach löschen

                Kommentar


                • #9
                  Zitat von boc Beitrag anzeigen
                  Die isset-Prüfung scheint nichts zu bringen (war vielleicht auch an der falschen Stelle), und bei dem heute angelegten Katalog habe ich festgestellt, dass der Fehler immer auftritt, unabhängig davon ob es eine Übersetzung gibt.

                  Wenn ich das genannte Template im Langswitcher-Modul entferne, scheint es wieder zu funktionieren. Zumindest beim Catalog, bei den News komischerweise immer noch nicht.

                  Ich kann aber eigentlich auf die Sprachwechsler Erweiterung verzichten und werde sie daher wohl einfach löschen
                  Hattest du changelanguage auch für die News eingesetzt? Ich weiss gar nicht genau, ob changelanguage die unterstützt.
                  http://www.premium-contao-themes.com

                  Kommentar


                  • #10
                    Ja, habe ich. Ich gehe stark davon aus, dass News unterstützt werden, weil man einzelne Beiträge aus verschiedenen Sprach-Archiven miteinander verknüpfen kann, wie man es bei Seiten auch macht.

                    Wenn ich übrigens nur noch das Template nav_changelanguage.html5 verwende, anstelle von nav_cc_changelanguage.html5 (sodass der Catalog wieder funktioniert, News aber noch nicht), bekomme ich im Stack Trace die Meldung "Notice: Array to string conversion in..." und sie bezieht sich auf diese Zeile im Template:

                    Code:
                    <li class="<?php if ($item['class']): ?><?php echo $item['class']; ?><?php endif; ?>"><a href="<?php echo $item['href']; ?>"><span><?php echo strtolower($item['link']); ?></span>{{image::files/cto_layout/img/flags/<?php echo strtolower($item['link']); ?>.svg}}</a></li>
                    Und außerdem...

                    Code:
                    Symfony\Component\HttpKernel\Exception\NotFoundHtt pException:
                    Unused arguments: auto_item
                    
                    at vendor/contao/core-bundle/src/EventListener/ExceptionConverterListener.php:97
                    at Contao\CoreBundle\EventListener\ExceptionConverter Listener->convertToHttpException()
                    (vendor/contao/core-bundle/src/EventListener/ExceptionConverterListener.php:68)
                    at Contao\CoreBundle\EventListener\ExceptionConverter Listener->__invoke()
                    (vendor/symfony/event-dispatcher/Debug/WrappedListener.php:117)
                    at Symfony\Component\EventDispatcher\Debug\WrappedLis tener->__invoke()
                    (vendor/symfony/event-dispatcher/EventDispatcher.php:230)
                    at Symfony\Component\EventDispatcher\EventDispatcher->callListeners()
                    (vendor/symfony/event-dispatcher/EventDispatcher.php:59)
                    at Symfony\Component\EventDispatcher\EventDispatcher->dispatch()
                    (vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:154)
                    at Symfony\Component\EventDispatcher\Debug\TraceableE ventDispatcher->dispatch()
                    (vendor/symfony/http-kernel/HttpKernel.php:223)
                    at Symfony\Component\HttpKernel\HttpKernel->handleThrowable()
                    (vendor/symfony/http-kernel/HttpKernel.php:86)
                    at Symfony\Component\HttpKernel\HttpKernel->handle()
                    (vendor/symfony/http-kernel/Kernel.php:202)
                    at Symfony\Component\HttpKernel\Kernel->handle()
                    (web/index.php:44)
                    Zuletzt geändert von boc; 06.03.2023, 13:40.

                    Kommentar


                    • #11
                      Ok. Es bezieht sich also alles auf changelanguage, nicht auf den Theme bzw. Contao-Standard. Das muss ich intern abchecken in welchem Rahmen wir hier den Support für changelanguage übernehmen. Bezüglich der News gibt es bereits ein Issue: https://github.com/terminal42/contao...age/issues/160
                      Zuletzt geändert von Tim; 06.03.2023, 14:06.
                      http://www.premium-contao-themes.com

                      Kommentar


                      • #12
                        Alles gut, ich persönlich brauche für diese Thematik eigentlich keinen Support (mehr), denn bei meinem Projekt kann ich sowohl auf News als auch auf changelanguage verzichten bzw. abwarten, ob es noch gefixed wird. Hauptsache der Catalog funktioniert wieder, das war am wichtigsten. Danke für die Mühe

                        Kommentar

                        Lädt...
                        X