Ergebnis 1 bis 13 von 13

Thema: Probleme mit conditionalformfields

  1. #1
    Contao-Fan Avatar von mapfei
    Registriert seit
    11.05.2010.
    Ort
    Much
    Beiträge
    692

    Frage Probleme mit conditionalformfields

    Hi zusammen,

    ich habe ein kleines Problem mit conditionalformfields. Folgendes Szenario:

    Ich habe drei Select-Menüs (Prämien-Auswahl). Es soll entweder Prämie 1 und Prämie 2 oder nur Prämie 3 ausgewählt werden dürfen. Für Prämie 3 habe ich mal folgende Bedingung formuliert:

    Code:
    (!$abo_praemie-1 && !$abo_praemie-2)
    Prämie 3 wird so allerdings grundsätzlich nie angezeigt. Was läuft hier falsch? Standardmäßig haben alle Prämien keinen Wert mit der Bezeichnung "Bitte auswählen".
    Viele Grüße, Markus
    --------------------------------
    Markus Pfeifer – Digital Designer & -Developer

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.130
    Partner-ID
    10107

    Standard

    Ich habe dein Setup nicht verstanden. Wovon soll die Ausgabe der Selects abhängen?

  3. #3
    Contao-Fan Avatar von mapfei
    Registriert seit
    11.05.2010.
    Ort
    Much
    Beiträge
    692

    Standard

    Zunächst werden alle 3 Prämien-Select-Menüs angezeigt. Wähle ich dann eine Prämie aus 1 oder 2 aus, soll 3 verschwinden. Man darf also zwei Prämien auswählen (aus 1 und 2). Aus Liste 3 darf ich nur eine Prämie auswählen - Liste 1 und 2 sollen dann nicht angezeigt werden.

    Evtl. funktioniert das auch mit einem Multi-Select, also Prämie 1 und 2 in eine Liste zusammenfassen?
    Viele Grüße, Markus
    --------------------------------
    Markus Pfeifer – Digital Designer & -Developer

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.130
    Partner-ID
    10107

    Standard

    Hm, naja dann wäre die condition für das fieldset der ersten zwei Selects sowas wie
    Code:
    $abo_praemie-3 == ''
    und für das fieldset des dritten Selects theoretisch
    Code:
    $abo_praemie-1 == '' && $abo_praemie-2 == ''

  5. #5
    Contao-Fan Avatar von mapfei
    Registriert seit
    11.05.2010.
    Ort
    Much
    Beiträge
    692

    Standard

    Vielleicht hätte ich noch erwähnen sollen, dass alle drei Felder nur angezeigt werden, wenn zuvor das "2-Jahres-Abo" ausgewählt wird. Meine Bedingung für Prämie 1 und 2 sieht also jetzt so aus:

    Code:
    ($abo_art == '2-Jahres-Abo' && $abo_praemie_2-jahres-abo-3 == '')
    Jetzt wird gar keine Prämie mehr angezeigt, also auch nicht Prämie 3, welche nach wie vor nur

    Code:
    ($abo_art == '2-Jahres-Abo')
    enthält.
    Viele Grüße, Markus
    --------------------------------
    Markus Pfeifer – Digital Designer & -Developer

  6. #6
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.130
    Partner-ID
    10107

    Standard

    Zitat Zitat von mapfei Beitrag anzeigen
    Vielleicht hätte ich noch erwähnen sollen, dass alle drei Felder nur angezeigt werden, wenn zuvor das "2-Jahres-Abo" ausgewählt wird.
    Das solltest du über ein separates fieldset lösen.

  7. #7
    Contao-Fan Avatar von mapfei
    Registriert seit
    11.05.2010.
    Ort
    Much
    Beiträge
    692

    Standard

    Funktioniert leider hinten und vorne nicht.

    Habe jetzt ein Fieldset um die 3 Selects mit

    Code:
    ($abo_art == '2-Jahres-Abo')
    gemacht.

    Die drei Prämien haben dann (in dieser Reihenfolge) folgende Bedingungen:

    Code:
    ($abo_praemie_2-jahres-abo-3 == '')
    ($abo_praemie_2-jahres-abo-3 == '')
    ($abo_praemie_2-jahres-abo-1 == '' && $abo_praemie_2-jahres-abo-2 == '')
    Was funktioniert ist die Auswahl der Abo-Art. Also die 3 Prämien werden auch nur angezeigt, wenn das 2-Jahres-Abo ausgewählt ist, sprich das umschließende Fieldset. Die drei einzelnen Prämien werden immer angezeigt.
    Viele Grüße, Markus
    --------------------------------
    Markus Pfeifer – Digital Designer & -Developer

  8. #8
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.130
    Partner-ID
    10107

    Standard

    Ja, ich kann mich erinnern, dass das überprüfen auf die Leer-Auswahl auch bei mir schon mal nicht funktioniert hat. Vielleicht solltest du da ein Ticket auf GitHub anlegen.

    Notfalls könntest du dir aber auch als Default Eintrag eine Option namens "keine" mit dem Wert "none" in den Selects einfügen und dann kannst du auf == 'none' prüfen. Allerdings hebelt das natürlich die Pflichtfeldüberprüfung aus.

  9. #9
    Contao-Fan Avatar von mapfei
    Registriert seit
    11.05.2010.
    Ort
    Much
    Beiträge
    692

    Standard

    Also es lag wohl zum einen tatsächlich an der Leer-Auswahl und zum anderen an der Bezeichnung der Felder. Scheinbar waren das ein paar zu viele Zahlen, Binde- und Unterstriche... mit anderen Bezeichnungen hat es dann jetzt funktioniert wie es soll.
    Viele Grüße, Markus
    --------------------------------
    Markus Pfeifer – Digital Designer & -Developer

  10. #10
    Contao-Fan Avatar von mapfei
    Registriert seit
    11.05.2010.
    Ort
    Much
    Beiträge
    692

    Frage

    Jetzt lassen sich eben genau diese Inhalte dieser Felder nicht ausgeben:

    Code:
    {if form_AboPraemie2a!="none"}##form_AboPraemie2a##{endif}
    {if form_AboPraemie2b!="none"}##form_AboPraemie2b##{endif}
    {if form_AboPraemie2c!="none"}##form_AboPraemie2c##{endif}
    Alle anderen Felder im Formular kann ich ansprechen und lassen sich auch ausgeben. Nur bei diesen dreien funktioniert das nicht?! Die Ausgabe bleibt leer.
    Viele Grüße, Markus
    --------------------------------
    Markus Pfeifer – Digital Designer & -Developer

  11. #11
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.130
    Partner-ID
    10107

    Standard

    Das hat jetzt aber nicht mehr mit den conditionalformfields zu tun, oder?

  12. #12
    Contao-Fan Avatar von mapfei
    Registriert seit
    11.05.2010.
    Ort
    Much
    Beiträge
    692

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Das hat jetzt aber nicht mehr mit den conditionalformfields zu tun, oder?
    Keine Ahnung ehrlich gesagt. Selbst wenn ich nur ##form_AboPraemie2a## ausgebe, also ohne if-else-Abfrage, dann wird auch ##form_AboPraemie2a## als Text ausgegeben und nicht der Wert. Seltsam oder? Und ja, die Felder AboPraemie2a, AboPraemie2b und AboPraemie2c gibt es.

    EDIT: Eben fällt mir auch auf, dass die Anfragen (via Leads) für diese drei Felder auch nicht richtig gespeichert werden, obwohl in den jeweiligen Feldern "in Anfrage speichern" auf "ja" steht. Wählt man das 1-Jahres-Abo aus, werden diese Felder gespeichert, obwohl sie ja hier gar nicht zum tragen kommen, da Prämien für das 2-Jahres-Abo. In den Anfragen für das 2-Jahres-Abo - also da wo sie relevant wären - werden sie dann auch nicht in Leads gespeichert. Vermutlich hängt das dann wiederum auch mit der Ausgabe in der Benachrichtigung zusammen... ich verzweifel hier gerade... (
    Geändert von mapfei (10.03.2019 um 20:03 Uhr)
    Viele Grüße, Markus
    --------------------------------
    Markus Pfeifer – Digital Designer & -Developer

  13. #13
    Contao-Fan Avatar von mapfei
    Registriert seit
    11.05.2010.
    Ort
    Much
    Beiträge
    692

    Frage

    Habe leider immer noch keine Lösung gefunden. Irgendwie schreit mir das Ganze ja nach Bug... das Verhalten ist schon äußerst seltsam....
    Viele Grüße, Markus
    --------------------------------
    Markus Pfeifer – Digital Designer & -Developer

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
  •