Ankündigung

Einklappen
Keine Ankündigung bisher.

Listenausgabe bei abhängigen Filtern

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

  • Listenausgabe bei abhängigen Filtern

    Hi Tim,

    ich brauche leider mal wieder eine Deiner Vereinfachungsideen ...

    Folgende Anwendung: 2 CCs.
    tbl_a 'boote', enthält verschiedene Infos über vorhandene Yachten.
    tbl_b 'segel', enthält Informationen zu verfügbaren Segelarten.

    In tbl_a gibt es eine Referenz (Attribut Auswahl-Datenbank, einfach) auf tbl_b mit der Möglichkeit, mehrere! Segeltypen auszuwählen.

    Soweit kein Problem.

    Es soll nun ein Doppelfilter gebaut werden, der Boote und Segelarten miteinander verbindet. Wird das Boot "Choose me" ausgewählt, dann sollen im zweiten Filter alle möglichen Segelarten dieses Bootes auswählbar sein. Umgekehrt sollte bei Auswahl der Segelart "Gennaker", der Erste Filter alle Boote auflisten, die ein Gennaker erhalten können.

    Soweit auch noch kein Problem. Ich habe dazu eine Filter-Sammlung mit 2 Filtertypen "Auswahl, einfach" verwendet und beide gegenseitig in die Abhängigkeit genommen. Funktioniert alles wie gewohnt.

    Nun die erste Schwierigkeit. Ich habe unterhalb des Filters eine Liste für die Ausgabe des Filterergebnisses.
    Ich möchte, dass die Ausgabe in die Liste erst beginnt, wenn BEIDE Filter eine Auswahl getroffen haben. Aktuell beginnt die Ausgabe bereits, sobald ich den ersten Filter ausgewählt habe.
    Gibt es hierzu einen Trick mit Bordmitteln?

    Schwierigkeit 2: Im Ergebnis habe ich immer einen Match einer Segelyacht und einer Segelart. In der Ausgabe der Liste möchte ich nun bestimmte Felder der Segelboote mit bestimmten Feldern der Segelarten kombinieren.
    Ich müsste also Zugriff auf beide Tabelleninhalte haben. Inhalte der tbl_a sind hier kein Problem, da ich diese Tabelle in der Liste angegeben habe ... aber wie komme ich an die Auswahl des zweiten Filters heran? Ich müsste ja eigentlich mindestens den Namen habe, den ich vorher im Filter der tbl_b gesetzt habe und ich sehe den auch wenn ich einen varDump mache aber ich bin wieder zu doof da ran zu kommen. Bestimmt gibt es wieder einen gaaanz einfachen Tim-Weg oder? ;-)

    Wenn ich den Namen hätte, ist der Rest wohl kein Problem mehr, denn der ist eindeutig und ich kann mir darüber alle anderen Werte holen.

    Vielen Dank schon mal im voraus!

  • #2
    Moin Tim, hast Du hierzu vielleicht noch einen Tipp?

    Ich glaube vor allem das erste Problem müsste gelöst werden. An die Infos der 2ten Schwierigkeit komme ich dann schon irgendwie ran. Zur Not mache ich eigene DB Abfragen an CC vorbei.

    Aber zum Ersten Problem habe ich keine Idee wie ich das abfangen kann? Ich habe mir die TemplateDumps von beiden Zuständen angeschaut (1 Filter gesetzt - 2 Filter gesetzt) und der einzige nennenswerte Unterschied liegt darin, dass im zweiten Fall das SQL Query eben eine zusätzliche Abfragebedingung enthält. Ich will jetzt eigentlich nicht anfangen zu versuchen, solche Deltas zu ermitteln.

    Du hast doch bestimmt noch einen Pfeil im Köcher, um das zu lösen oder?

    Kommentar


    • #3
      Wenn beide Listen die gleichen Filtersets nutzen, funktioniert die Prüfung auf gesetzten Filter (zeige alle Ergebnisse) nicht, weil ggf. einer der Filter Ergebnisse produziert. Man kann die Filtersets trennen und getrennte Filter machen. CC erlaubt auch eine Parameterüberführ. Das Feature nennt sich Smart-Filtering und kam mit CC 2.0, glaube ich.

      Einen anderen Weg, den ich sehe, ist in der initconfig die Filter zu negieren, wenn nur einer gesetzt ist. Das geht mit Hilfe der Input Klasse. Hier im Forum wird dieser Weg auch genutzt um Filter vorzubelgen. Man macht quasi genau das Gegenteil in Abhängigkeit beider Filter. -> das würde ich machen.
      Hier ist ein ein Beispiel für das Vorbelegen, das gleiche geht natürlich mit leer setzen (nicht null): https://forum.premium-contao-themes....tzahl#post7464

      ---
      Schwierigkeit 2 kann ich nicht ausm Arm schütteln. Beispiele für Datenbank-Abfragen gibt es, auch hier im Forum, genug. Ob das dieses Szenario abdecken kann, kann ich nicht sagen. In wie fern der Filter aufgegriffen werden muss, verstehe ich nicht. Das geht hier schon sehr tief in projektbezogene Materie. Ohne konkretes Fallbeispiel wird das alles nur Gestocher. Dafür muss ich aktiv am Projekt sitzen. Das ist auch bissel too much für Support in einem Forum.

      In der Ausgabe der Liste möchte ich nun bestimmte Felder der Segelboote mit bestimmten Feldern der Segelarten kombinieren.
      Das ist meines Erachtens eine DB-Abfrage 1-n von Segelboot auf Segelarten. In dem Segelboot Datensatz sind die Segelarten irgendwie referenziert via Tags oder ähnlich, nehme ich an. Damit hat man die zugehörigen Ids der Segelarten, passend zum Segelboot und kann ein SELECT machen.
      Zuletzt geändert von Tim; 25.02.2021, 09:11.
      http://www.premium-contao-themes.com

      Kommentar

      Lädt...
      X