Ergebnis 1 bis 8 von 8

Thema: Filterproblem mit mehren Mehrfachauswahlen

  1. #1
    Contao-Nutzer
    Registriert seit
    24.04.2013.
    Beiträge
    177

    Standard Filterproblem mit mehren Mehrfachauswahlen

    Guten Abend,
    stehe kurz vor dem Ende meines 1. Metamodels Projekts und habe auch dank eurer Hilfe so gut wie alle Probleme beheben können. Jetzt besteht nur noch ein kleines Problem das die Filter betrifft.

    Ich habe bisher ein mm_land und ein mm_ausgabe, im mm_ausgabe sind mittels Tag Attribut alle Länder auswählbar. Im Front-End habe ich dann einen Filter in dem alle Länder untereinander stehen und kann mir beispielsweise Frankreich und Italien auswählen. Das funktioniert auch alles wunderbar, die Liste wird bei 180 Ländern aber sehr lang. Nun wollte ich unterschiedliche mm für die einzelnen Regionen anlegen, also ein mm_afrika, mm_europa, mm_suedamerika etc.. Das funktioniert alles wunderbar, ich kann im mm_ausgabe mittels Mehrfachauswahl dann die einzelnen Länder der Regionen auswählen. Im Filter habe ich mehrere Mehrfachauswahlen erstellt und dann den Filter im Front-End eingebunden. Jetzt ist das Problem, wähle ich ein Land aus Europa aus kann ich kein Land aus Afrika mehr auswählen, da kein Datensatz im mm_ausgabe ein Land aus Europa und ein Land aus Afrika zugewiesen hat, das ist für mich auch Logisch. Deshalb habe ich ein ODER-Element erstellt und darin dann die ganzen Tags aufgelistet. Jetzt passiert aber folgendes. Wähle ich ein Land aus Afrika aus werden die Informationen für dieses Land geladen aber gleichzeitig werden alle Datensätze aus Europa aufgelistet, obwohl hier ja kein Land ausgewählt ist.
    Wie kann ich das beheben, das auch hier erst Datensätze angezeigt werden wenn ein Land ausgewählt wurde?

    Vielen Dank im Voraus.

    Flo

  2. #2
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo Fkhm,
    das klingt nach einer sehr kreativen Lösung.
    Ich weiß nicht ob das so klappt, wie du dir das vorstellst...
    Ich würde da eventuell anders heran gehen:
    Einfach Variante, einfach zusätzlich zur Land auswahl noch eine Auswahl zum Gebiet (geht aber nur gut, wenn die Items jeweils nur für ein Gebiet sind).
    Dann wäre noch eine Variante mit Hirarchischem MM bei der zuordnung von Gebiet und Land.
    Da müsstest du dann aber selber die Ausgabe im Frontend anpassen (also den Filter), das wäre eigentlich die nettere Variante...
    Eventuell dann mit zwei Filtern oder einer eigenen Linkliste (wie gesagt ist die Hirarchie im Frontend Handarbeit...).

    Eine wirkliche Lösung kann ich dir da auf Anhieb jetzt nicht anbieten. Nur Ideen, wie es eventuell anders Lösbar sein könnte.

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

  3. #3
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.719
    User beschenken
    Wunschliste

    Standard

    die Variante von MacKP (zus. Filter auf Region) wäre technisch wahrscheinlich die einfachste - nur siehst Du in der Checkbox-Liste mit allen Ländern die Gruppierung zu Region nicht...

    um Deine aktuelle Variante zu "pimpen" könne es funktionieren, jede Regionsfilterregel in ein zus. ODER zu packen - mit der Option "Ende nach erstem Treffer"

    vor(!) die Regionsfilterregel jeweils eine Regel "Eig. SQL", die nur weiter geht, wenn die entsprechende Region als Parameter gewählt ist - ansonsten einen Wert liefert, der nicht vorhanden ist z.B. -1

    also i.E. so
    PHP-Code:
    ODER
    __
    +ODER
    ____Eig
    SQL
    ____Regionsregel 1
    __
    +ODER
    ____Eig
    SQL
    ____Regionsregel 2
    __
    +ODER
    ____Eig
    SQL
    ____Regionsregel 3
    __
    +ODER
    ____Eig
    SQL
    ____Regionsregel 4
    ... 
    Beispiele zu "IF" in SQL sind im Handbuch (Kochbuch)


    ... bei einem hierarchischem Aufbau der Regionen und Länder wird (aktuell) in dem FE-Filter die Hierarchieebene als zus. Info nicht mitgeliefert - ebenso die Region nicht ... daher halte ich die Variante derzeit für nicht möglich... (xtra würde sagen: dann bau Dir doch schnell einen eigenen spezifischen Filter )

  4. #4
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von zonky Beitrag anzeigen
    ... bei einem hierarchischem Aufbau der Regionen und Länder wird (aktuell) in dem FE-Filter die Hierarchieebene als zus. Info nicht mitgeliefert - ebenso die Region nicht ... daher halte ich die Variante derzeit für nicht möglich... (xtra würde sagen: dann bau Dir doch schnell einen eigenen spezifischen Filter )
    Ja, ich meine dann nicht mit einem Filter an sich arbeiten, sondern mit einem Listen-Template für die Hirarchie und dann den Filter aus dem Template selber machen. Ist halt nicht wirklich die easy Methode... hab ich aber auch schon mal als Variane für einen Kunden benutzt ;-)

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

  5. #5
    Contao-Nutzer
    Registriert seit
    24.04.2013.
    Beiträge
    177

    Standard

    Einfach Variante, einfach zusätzlich zur Land auswahl noch eine Auswahl zum Gebiet (geht aber nur gut, wenn die Items jeweils nur für ein Gebiet sind).
    So ist der Aufbau momentan, also beispielhaft für die einzelnen mm der Regionen jetzt das mm_afrika das folgende Attribute enthält
    Text (Name des Landes)
    Auswahl (Region die vorher im mm_region eingetragen wurden)

    vor(!) die Regionsfilterregel jeweils eine Regel "Eig. SQL", die nur weiter geht, wenn die entsprechende Region als Parameter gewählt ist - ansonsten einen Wert liefert, der nicht vorhanden ist z.B. -1
    Den Aufbau versuche ich jetzt mal. Was meinst du mit "die nur weiter geht"?

    Wenn dann "Ende nach erstem Treffer" ausgewählt ist, kann man dann auch mehrere Länder aus einer Region auswählen?

    Also im Frontend soll es so aussehen:
    AFRIKA
    - Marokko
    - Tunesien
    - Algerien

    EUROPA
    - Deutschland
    - Frankreich
    - Italien

    Derzeit ist es so, wähle ich nur Frankreich aus, bekomme ich ALLES angezeigt. Wähle ich nur Marokko aus bekomme ich auch ALLES angezeigt.
    Wenn ich Marokko und Frankreich auswähle bekomme ich tatsächlich nur Marokko und Frankreich angezeigt.

    Müsste da nicht auch ein eigener SQL Filter funktionieren der davor gesetzt ist mit folgendem Inhalt?
    Code:
    SELECT * FROM mm_reiseberatung WHERE Reiseberatung_Name = -1
    Geändert von Fkhm (17.01.2018 um 07:51 Uhr)

  6. #6
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.719
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Fkhm Beitrag anzeigen
    Was meinst du mit "die nur weiter geht"?
    Du möchtest doch, wenn in Afrika was ausgewählt und in Europa nichts, dass keine Items aus Europa kommen...

    ... dann in dem "eig. SQL" im Filterregel-Knoten "Europa" die Filterung von Europa-Items blocken, wenn in der URL nicht nach Europa gesucht wird

  7. #7
    Contao-Nutzer
    Registriert seit
    24.04.2013.
    Beiträge
    177

    Standard

    Okay, das habe ich jetzt grob verstanden.
    Es wird jedoch nicht nach Europa gesucht sondern nach den einzelnen Ländern. Der URL-Parameter ist jedoch Europa, also müsste man dann mittels get_param und default Wert arbeiten?

    Wobei ich auch schon einen eigenen SQL-Filter versucht habe der die einzelnen Get Abfragt und dann die passenden Werte raussucht, aber das Umrechnen von den Länder bezeichnungen mittels tl_metamodel_tag_relation war ein riesen durcheinander.

    Vielen Dank für eure Erklärungen!

  8. #8
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.719
    User beschenken
    Wunschliste

    Standard

    was häufig "verdreht" wird - der Filter ist ein "Filter" und keine "Suche"... d.h. per se ist ohne Einstellung die ausgegebene Menge gleich 100% und die wird erst durch die Filterung kleiner...

    ab und an möchte man aber zum Start "nix" anzeigen und den Filter eher wie eine Suche verwenden - das kann man im Ausgabetemplate deichseln oder über SQL


    btw: Beispiel für Tag-Filterung: http://metamodels.readthedocs.io/de/...-seite-filtern

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •