Ankündigung

Einklappen
Keine Ankündigung bisher.

Probleme mit Filter in CC-Listen mehrsprachig nach Update

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

  • Probleme mit Filter in CC-Listen mehrsprachig nach Update

    Wir haben eine Inst. von EX 3.16 auf die aktuelle X4 Version mit Contao 4.13 geupdated.

    Bei einem CC gibt es Probleme mit der Filterung.

    Obwohl im Listenmodul "Zeige alle Einträge bei leerem Filter" ausgewählt ist, werden keine Einträge angezeigt.

    Es handelt sich um einen zweisprachigen Katalog und "nach aktueller Sprache Filtern" ist ausgewählt. Außerdem gibt es zwei Tag-Filter, mit jeweiliger Abhängikeit.

    Des Weiteren wird folgende Fehlermeldung ausgeworfen:

    Code:
    [2022-12-17T14:58:50.692808+01:00] request.CRITICAL: Uncaught PHP Exception TypeError: "array_filter(): Argument #1 ($array) must be of type array, string given" at /---/system/modules/pct_customelements_plugin_customcatalog/PCT/CustomElements/Plugins/CustomCatalog/Attributes/AttributeCallbacks.php line 284 {"exception":"[object] (TypeError(code: 0): array_filter(): Argument #1 ($array) must be of type array, string given at /---/system/modules/pct_customelements_plugin_customcatalog/PCT/CustomElements/Plugins/CustomCatalog/Attributes/AttributeCallbacks.php:284)"} []

  • #2
    Hi,
    besagte Zeile erwartet für ein Bild-Attribut den Bildgrößen-Array aus dem dazugehörigen Bildgrößen-Feld "FELDNAME_size". Es wird ein Array erwartet, bei Euch kommt ein String an.
    http://www.premium-contao-themes.com

    Kommentar


    • #3
      Danke, merkwürdig. Hängt das mit einer schärferen Prüfung in PHP 8.1 zusammen?

      Wie sieht es mit der Filterung aus? Kannst du es nachstellen mit einer aktuellen Version?

      Kommentar


      • #4
        Die "Zeige alle Einträge" Einstellung hat keine Auswirkung auf die Filterung für die Mehrsprachigkeit. Hier greifen maximal die Systemeinstellungen für die Fallback-Sprache ein.
        ---
        Das wäre auch unter PHP < 8 ein PHP Fehler. Das Bildgrößen-Feld wird in der DB als serialisierter String gespeichert und an besagter Stelle via deserialize umgewandelt. Rückgabe ein Array. Besagte Zeile ist sogar recht hoch abgesichert, falls das Feld nicht existieren sollte.

        Ist für das Bild eine Bildgröße angegeben? Was steht denn in der DB in dem Bildgrößen-Feld. Wenn das Feld leer gespeichert wird, sollte weiterhin ein serialisierter Array (nur halt ohne Werte) vorliegen. (siehe Anhang)
        Angehängte Dateien
        Zuletzt geändert von Tim; 19.12.2022, 07:57.
        http://www.premium-contao-themes.com

        Kommentar


        • #5
          Zitat von Tim Beitrag anzeigen

          Wenn das Feld leer gespeichert wird, sollte weiterhin ein serialisierter Array (nur halt ohne Werte) vorliegen. (siehe Anhang)
          Hier war das Feld leer, wenn keine Bildgrößeneinstellung gewählt wurde. Nach dem Löschen dieser Option wird es wieder korrekt ausgegeben.


          Die "Zeige alle Einträge" Einstellung hat keine Auswirkung auf die Filterung für die Mehrsprachigkeit. Hier greifen maximal die Systemeinstellungen für die Fallback-Sprache ein
          Was bedeutet hier "keine Auswirkung". Dass diese Option bei Mehrsprachigkeit nicht möglich ist oder dass diese nicht von der Mehrsprachigkeit abhängt?

          Wir haben hier einen Katalog in zwei Sprachen und auf beiden Seiten sollte alle Einträge per Default angezeigt werden, wenn nichts gefiltert wurde. Wie ist das zu bewerkstelligen?

          Kommentar


          • #6
            Die Mehrsprachigkeits-Filterung wird immer angewendet, wenn die Option "Aktive Sprache filtern" in der Liste gesetzt ist. Einfluss hat an dieser Stelle nur die Sprachenfallback-Option in den Systemeinstellungen.
            http://www.premium-contao-themes.com

            Kommentar


            • #7
              Sorry, aber ich checks noch nicht.

              Meinst du diese Einstellungen hier im Anhang in den Systemeinstellungen für den CC?
              Diese haben auf meinen Usecase keine Auswirkungen.

              Wie gesagt, es sollen alle Einträge in der jeweiligen Sprache per Default angezeigt werden, solange nicht ein weiterer Filter ausgewählt wird.

              Kommentar


              • #8
                Strikt brauchst du in der Regel hier nicht.
                ---
                Wenn Deutsch deine Basis-Sprache ist, dann müssen die Checkboxes oben gesetzt sein. Andernfalls wird das System explizit Einträge suchen, die für die deutsche Sprache "de" angelegt wurden. Deutsch "de" muss dann auch als eigenständige Sprache in der CC-Konfig angegeben sein.

                Die Filterung erfolgt auf Basis der im Startpunkt der Webseite angegebenen Sprache.

                Hier ist es im Detail erklärt: https://forum.premium-contao-themes....-lieben-lernen
                Zuletzt geändert von Tim; 19.12.2022, 08:42.
                http://www.premium-contao-themes.com

                Kommentar


                • #9
                  Deutsch "de" muss dann auch als eigenständige Sprache in der CC-Konfig angegeben sein.
                  Das ist hier der Fall. Deutsch ist als eigenständige Sprache angelegt.
                  Ein Fallback wird nicht benötigt.

                  Die Sprachfilterung funktioniert ja auch wie gewünscht. Sobald ein vorhandener Tag-Filter aktiviert wird, erscheinen auch die zutreffenden Einträge in der richtigen Sprache.

                  Wie beschrieben ist das Problem, dass nicht alle Einträge per Default angezeigt werden, obwohl "zeige alle Einträge bei leerem Fiilter" angekreuzt ist.


                  Kommentar


                  • #10
                    Wenn Du strikt aktiviert hast, wird das System auch strikt alles ausradieren, was ggf. ein unmögliches Ergebnis produzieren wird. -> würde ich deaktivieren. Maximal je Filter selbst setzen.

                    Kannst du ausschließen, dass die Abhängigkeit in den Tags-Filtern nicht zu einer ungewollten Ausgabe führt.

                    Was genau wird denn ausgegeben. "Nicht alle" Was genau beduetet das hier? Bedeutet das kein einziger Eintrag oder irgendwelche, aber nicht alle.

                    Inwiefern war das vor dem Update anders? Welche Form von Update? Waren vielleicht vorher Filter vorbelegt via initconfig oder ähnlich?
                    Zuletzt geändert von Tim; 19.12.2022, 09:18.
                    http://www.premium-contao-themes.com

                    Kommentar


                    • #11
                      Ich hab in der BookLibrary Demo mal einige Konstellationen durchgespielt. Das passt dort zumindest wie erwartet. Dort arbeitet ein Tags-Filter für die Autoren. Die Sprache wird automatisch gefiltert.

                      Je nach dem ob der Tags-Filter ein Ergebnis hat / oder nicht, werden entweder alle Einträge oder kein Eintrag ausgegeben (je nach Liste-Einstellung), immer unter Berücksichtigung der Sprach-Filterung.
                      http://www.premium-contao-themes.com

                      Kommentar

                      Lädt...
                      X