Contao-Camp 2024
Ergebnis 1 bis 8 von 8

Thema: Abhängige Dropdown-Werte in der Eingabemaske

  1. #1
    Contao-Fan
    Registriert seit
    17.10.2012.
    Ort
    Bern - Schweiz
    Beiträge
    443

    Frage Abhängige Dropdown-Werte in der Eingabemaske

    Nabend zusammen

    Wir haben ein MM angelegt und mit Kontinenten abgefüllt.
    Anschliessend haben wir die Länder als Kind-Elemente je Kontinent abgefüllt.
    Nun haben wir in der Eingabemaske (Backend) ein Dropdown, in welchem die Kontinente zur Auswahl stehen.
    Dann haben wir ein Dropdown mit welchem wir die Länder zur Auswahl anbieten wollen.
    Nun sollen aber nur diejenigen Länder angezeigt werden, welche als Eltern-Element den ausgewählten Kontinent haben.

    Kann mir wer sagen, wie man dafür vorgehen muss, respektive wo genau der "Filter" dafür gelegt werden muss? Eventuell auch wie sowas aussehen sollte?

    Zudem würde es mich interessieren, ob es mehr Sinn machen würde, die Länder auch als unabhängige- anstelle einer Kind-Tabelle zu erstellen - hat da wer etwas Erfahrung?

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

    Standard

    Zitat Zitat von Dee Beitrag anzeigen
    Nabend zusammen

    ... abgefüllt.
    sagt mir was vom Junggesellenabschied

    Kindtabelle würde ich nicht nehmen, da sich Eltern und Kinder "nicht kennen" - besser wäre bei den "Kindern" ein Select auf "Elter" zu machen...

    Bei den Filtereinstellungen kann man dann mit der Checkbox "nur verbleibende" arbeiten - aber 100%ig ist so eine hierarchische Abhängigkeit per se bei MM nicht dabei - für Filter wie hier https://www.swperformance.at/filter/...ugtyp/pkw.html ist etwas Programmierung notwendig

  3. #3
    Contao-Fan
    Registriert seit
    17.10.2012.
    Ort
    Bern - Schweiz
    Beiträge
    443

    Standard

    Hallo Zonky

    Hehe, genau heute mache ich mal Alkfrei

    Also, ich habe nun ein MM mit den Kontinenten und eines mit den Ländern.
    Bei den Ländern, habe ich eine Select mit den Kontinenten hinzugefügt. Ich gebe da also "Alias (wird automatisch ausgefüllt)", "Land" und die "Kontinente (Select vom ersten MM)" an.

    Bei den Filtereinstellungen kann man dann mit der Checkbox "nur verbleibende" arbeiten
    Tönt nachdem was ich suche Verstehe aber noch nicht ganz wo ich welchen Filter machen muss?
    Braucht es da den Filter unter "Filtersets für MM" oder muss das bereits beim Feld in der Maske unter "Ansichtsbedingungen des Eingabefeldes" erstellt werden?

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

    Standard

    Zitat Zitat von Dee Beitrag anzeigen
    Also, ich habe nun ein MM mit den Kontinenten und eines mit den Ländern.
    Bei den Ländern, habe ich eine Select mit den Kontinenten hinzugefügt.
    das ist eine normale 1:n-Relation per Attribut Einfachauswahl [select] - Kindtabellen sind im MM-Sprachgebrauch was anderes... (ggf. meine Folien von CK 2017 mal ansehen)

    Zwei FE-Filter anlegen - einen für Kontinente und einen für Länder - wenn bei beiden "nur verbleibende" angeklickt sollte

    bei (erster) Auswahl "Europa" [Kontinente] nur noch alle Länder von Europa zu sehen sein...

    bei (erster) Auswahl "Schweiz" [Länder] nur noch Europa bei Kontinent zusehen sein...

  5. #5
    Contao-Fan
    Registriert seit
    17.10.2012.
    Ort
    Bern - Schweiz
    Beiträge
    443

    HTML

    Ach so! Mir war nicht bewusst, dass dies so für die Dropdowns im Backend in der Eingabemaske funktioniert
    Geändert von Dee (21.04.2020 um 20:57 Uhr)

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

    Standard

    AHHH! Mist!
    habe "Backend" überlesen... wir machen die Tafel nochmal sauber!

    das geht ganz anders!

    im BE geht das (gut) nur in eine Richtung - Du kannst beim Attribut Land einen Filter angeben - z.B. einen Filter mit Filterregel "Eig. SQL" ... hier prüfst Du bei Land auf den POST-Parameter von Kontinent und gibst nur die aus, die passen...

    in Maske sollte bei Kontinent "Submit onChange" angeklickt sein ... heist anders...

    am Besten Kontinent als Pflichtfeld, dann muss man was auswählen... Land kann zB. per Ansichtsbedingung erst dann eingeblendet werden, wenn Kontinent ausgewählt oder man macht die Filterregel so, dass POST nicht null sein darf, um was anzuzeigen

  7. #7
    Contao-Fan
    Registriert seit
    17.10.2012.
    Ort
    Bern - Schweiz
    Beiträge
    443

    Standard

    Ah, supaa :-) Jetzt ist glaube ich ist der Groschen gefallen...
    Dann mache ich einen eigenen SQL-Filter, bei dem ich alle Länder raushole, welche quasi den selben Kontinent angehören.
    Da ich ja die Kontinente beim Land mitangebe, kann ich es so Filtern, sollte relativ easy sein.

    Was mir dabei noch nicht ganz klar ist, wie verhänge ich dann den Filter mit den Dropdowns?
    Muss das übers das BE-Rendering laufen - also bei den Rendering-Einstellungen kann man ja einen Filter angeben?

    P.s Das mit den Ansichtsbedingung ist ne super Idee. Erst wenn der Kontinent ausgewählt wurde, erscheint das Länder-Dropdown.

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

    Standard

    Zitat Zitat von Dee Beitrag anzeigen
    A) Dann mache ich einen eigenen SQL-Filter, bei dem ich alle Länder raushole, welche quasi den selben Kontinent angehören.
    Da ich ja die Kontinente beim Land mitangebe, kann ich es so Filtern, sollte relativ easy sein.

    B) Was mir dabei noch nicht ganz klar ist, wie verhänge ich dann den Filter mit den Dropdowns?
    Muss das übers das BE-Rendering laufen - also bei den Rendering-Einstellungen kann man ja einen Filter angeben?
    A) korrekt sowas wie
    SELECT id FROM {{table}}
    WHERE continent = {{param::post...guck mal in das verkehrszeichen...}}


    B) Du gibst den Filter beim Attribut Land an - dort ist ja eine Auswahlmöglichkeit für Filter... Du könntest ja z.B. auch einen festen Filter machen für Länder der Alpenregion ... hier ist der eben dynamisch mit dem {{param::... und damit das nicht erst nach dem Speichern passiert, muss bei dem Attribut Kontinent in der Eingabemaske die Checkbox gesetzt werden für submitOnChange

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
  •