Ankündigung

Einklappen
Keine Ankündigung bisher.

CustomCatalog Select Filter zeigen Ergebnisse an die nicht verknüpft sind

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

  • CustomCatalog Select Filter zeigen Ergebnisse an die nicht verknüpft sind

    Hallo,

    bei einem aktuellen CC Projekt habe ich das Problem das die Verknüpfungen von meinen Select Filtern (auf Tags basierend) mir falsche Ergebnisse liefert.
    Es ist wahrscheinlich eine falsche Konfiguration oder ein denkfehler im Aufbau der Tags, deswegen versuche ich diese mal besser zu beschreiben.

    Wenn der User bspw. den Filter "BoVac Disc" auswählt, sollten alle verbunden Objekte angezeigt werden. Das passiert hier in der Listenausgabe richtig, alle Objekte die als Produkt "BoVac Disc" hinzugefügt haben werden dargestellt.

    Das Problem hier ist das Select Menu, dieses zeigt komischerweise nicht nur die mit "BoVac Disc" verbundenen Branchen an, sondern die Branchen die mit "Vakuumfiltration" verbunden sind. (Ich verwende hier Select2, um das Selectmenu schöner anzeigen zu lassen, im Quelltext ist Selectmenu die gleiche Ausgabe)

    In der Filterkonfiguration habe ich in jedem Filter die Filter-Abhängigkeit auf alle prüfen lassen, im Filter-Modul habe ich eingestellt das alle möglichen Werte bei leerem Ergebnis dargestellt werden sollen.


    Hier die Seite

  • #2
    im Filter-Modul habe ich eingestellt das alle möglichen Werte bei leerem Ergebnis dargestellt werden sollen.
    Wenn alle Werte dargestellt werden sollen, auch die die kein Ergebnis liefern, zeigen diese eine 0 bei der Menge. Genau das ist hier sichtbar.
    http://www.premium-contao-themes.com

    Kommentar


    • #3
      Zitat von Tim Beitrag anzeigen

      Wenn alle Werte dargestellt werden sollen, auch die die kein Ergebnis liefern, zeigen diese eine 0 bei der Menge. Genau das ist hier sichtbar.
      Das mit der (0) habe ich hier bewusst entschieden und hat keinen Einfluss auf das eigentliche Problem.
      Die Branchen werden angezeigt, weil Sie mit der Technologie verbunden sind, die Branchen haben aber nichts mit dem Produkt zu tun das man gerade filtert.

      Komischerweise gibt die Suche nach einem Produkt auch alle Branchen der Technologie des Produktes aus und nicht nur die Branchen die mit dem Produkt verknüpft sind. Kann ich das mit einem Abfragekombinierer verhindern?

      Kommentar


      • #4
        Grundaufbau: Liste- und Filter-Modul sollten identische Filtersets fahren. Nur dann werden gleiche logische Ergebnisse ausgegeben.
        ---
        Abfragekombinierer dienen dem SQL Abfrage Aufbau und ermöglichen OR Bedingungen zwischen zwei Filtern. Zusätzlich können auch "Filter-Kappselungen" genutzt werden (Wrapper), die Abfragen in Klammern setzen, da dies einen beträchtlichen Unterschied in einer WHERE Abfrage bedeuten kann.

        Um eine Abfrage zu analysieren bzw. auch komplexere Filterungen korrekt zu bauen, ist es nötig die SQL-Abfrage imgrunde manuell schreiben zu können.
        SQL loggen: Mit Hilfe der Globalen (initconfig.php):
        $GLOBALS['PCT_CUSTOMCATALOG']['debug'] = true;

        Komplexe und benutzereingaben-kritische Bedingungen / Logiken setzen ggf. eine eigene Filter-Logik voraus. Dafür kann ein Hook-Filter genutzt werden.
        http://www.premium-contao-themes.com

        Kommentar


        • #5
          Zitat von Tim Beitrag anzeigen
          Grundaufbau: Liste- und Filter-Modul sollten identische Filtersets fahren. Nur dann werden gleiche logische Ergebnisse ausgegeben.
          Die laufen beide mit dem identischen Filterset, trotzdem kommen verschiedene logische Ergebnisse raus.

          Gibt es irgendwo ein Beispiel wie man so eine manuelle Filterlogik realisiert? Eine Dokumentation gibt es ja hier nicht(?), aber vielleicht in irgendwelchen System Files oder ein Nutzer im Forum der sowas schon mal umgesetzt hat?

          Kommentar


          • #6
            Es ist natürlich extrem schwer so ein Projekt extern zu betrachten. Auch ist der Grundaufbau sehr komplex, da Sprachen berücksichtigt werden müssen inkl. Abhängigkeiten.
            Gemessen an den Ergebnissen denke ich es fehlt ein Sprachen-Filter in den Formularen.
            Die Ergebnisse deuten auf eine nach Sprachen gefilterte Liste. Die Filter-Formulare bedienen sich aber aller Einträge -> hier sollte zusätzlich ein Filter vom Typ Sprachenfilter in einem Filterset ergänzt werden.

            Ein Beispiel für einen "ähnliche" komplexen Aufbau ist die Eclipse Book Library demo.
            ---
            Ein Beispiel für einen Hook-/Callback-Filter ist direkt im Paket enthalten. Siehe "HookExample.php" in:
            pct_customelements_plugin_customcatalog⁩/PCT⁩/⁨CustomElements⁩/⁨Filters⁩/Hook

            Der Hook wird wie gewohnt bei Contao-Hooks in der config.php definiert.
            $GLOBALS['CUSTOMCATALOG_HOOKS']'hookfilter'['myFilterExample'] = array('PCT\CustomElements\Filters\Hook\HookExample','myHookFilterCallback');
            http://www.premium-contao-themes.com

            Kommentar


            • #7
              Zitat von Tim Beitrag anzeigen
              Es ist natürlich extrem schwer so ein Projekt extern zu betrachten. Auch ist der Grundaufbau sehr komplex, da Sprachen berücksichtigt werden müssen inkl. Abhängigkeiten.
              Gemessen an den Ergebnissen denke ich es fehlt ein Sprachen-Filter in den Formularen.
              Die Ergebnisse deuten auf eine nach Sprachen gefilterte Liste. Die Filter-Formulare bedienen sich aber aller Einträge -> hier sollte zusätzlich ein Filter vom Typ Sprachenfilter in einem Filterset ergänzt werden.
              Es gibt bisher nur eine Sprache und die Einträge der anderen Sprache werden im Endeffekt genau die gleichen sein. Ich habe hier aber im Listenmodul schon einen aktiven Sprachfilter, muss ich den im Filtermodul nochmal einzeln spezifizieren?

              Kommentar


              • #8
                Im Liste Modul hast du sicher nur "aktive Sprache filtern" aktiviert. Das Filter-Modul braucht einen realen Sprachen-Filter.
                http://www.premium-contao-themes.com

                Kommentar


                • #9
                  Zitat von Tim Beitrag anzeigen
                  Im Liste Modul hast du sicher nur "aktive Sprache filtern" aktiviert. Das Filter-Modul braucht einen realen Sprachen-Filter.
                  Damit hattest du recht, ich bin unwissend davon ausgegangen, dass das das Gleiche ist.

                  Leider tritt der Fehler immer noch mit einem echten Sprachen-Filter auf. Ich glaube ich verstehe jetzt auch wirklich, wo das Problem liegt, aber ich bin mir nicht wirklich sicher wie ich es lösen kann.

                  Die Filterlogik funktioniert von CC Seite glaube ich richtig. Das Problem ist, das es die Tags gibt die die Selectfilter bespielen, aber auch die gleichen Produkte (die als Tags angelegt sind) in dem CC als Objekte.

                  Wenn ich ein Produkt wähle, werden mir die Objekte ausgegeben die auf beide Selectfilter zustimmen. Also "Pharmazeutische Vorprodukte" und "BoVac Disc" haben beide eine Verbindung zu "Vakuumtechnologie" – und können somit in der Kombination immer noch die "Vakuumtechnologie" ausgeben. Obwohl BoVac Disc als Objekt keine Verbindung zu dieser Branche ("Pharamzeutische Vorproduktion") hat. Kann ich ein Tag mit dem entsprechenden Objekt verbinden, oder die Objekte als Tagauswahl nutzen?

                  Ist es überhaupt möglich die Sortierlogik dementsprechend anzupassen?

                  EDIT: Wenn das schwerwiegendere Änderungen sind um die Funktionalität so möglich zu machen, wie wir das wollen. Dann könnte ich wieder ein Service-Fenster buchen.
                  Zuletzt geändert von filipt; 22.07.2019, 17:23.

                  Kommentar

                  Lädt...
                  X