Contao-Camp 2024
Ergebnis 1 bis 23 von 23

Thema: Probleme mit If/Else-Abfrage für Bestätigungsmail bei Selectmenü

  1. #1
    Contao-Nutzer
    Registriert seit
    07.07.2009.
    Beiträge
    72

    Standard Probleme mit If/Else-Abfrage für Bestätigungsmail bei Selectmenü

    Hallo,
    ich bin nicht fit in Sachen Code und habe leider bei meinen Recherchen auch keine Antwort auf folgende Aufgabenstellung gefunden. Würde mich freuen, wenn deshalb jemand einen Tipp für mich hätte.

    Ich habe in einem Formular ein Selectmenü -- geben wir dem Feld mal beispielshaft den Feldnamen "eisauswahl":
    • [Wert] optionA [Bezeichnung] Schokoeis
    • [Wert] optionB [Bezeichnung] Erdbeereis
    • [Wert] optionC [Bezeichnung] Straciatella


    Ich möchte nun mittels Leads/Notification Center eine Bestätigungsmail erzeugen, die mir anzeigt, welche Auswahl getroffen wurde und würde dies gerne mittels einer if/else-Abfrage lösen, damit in der Mail die gewählten Eissorten stehen, statt nur die Werte (optionA etc.).

    Grundsätzlich komme ich mit if/elseif/else-Abfragen gut klar -- wenn sie sich auf eine entweder/oder-Abfrage beziehen (z.B. entweder wenn male dann Anrede "Lieber Herr", oder wenn female dann Anrede "Liebe Frau", ansonsten "Sehr geehrte Damen und Herren"). Bei Checkboxen ist es aber ja so, dass mehrere Dinge gleichzeitig ausgewählt werden können (sowohl Schoko-, als auch Erdbeereis).

    Nun die Frage:
    Wie muss die else/if-Abfrage aussehen, um in der Bestätigungsmail eine etwaige Checkbox-Mehrfachauswahl auszugeben?
    Also, dass quasi in der Mail steht: "Getroffene Auswahl: 1 Kugel Schokoeis, 1 Kugel Erdbeereis"

    Danke für einen Tipp!

  2. #2
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Bist du da in PHP? Und wie bekommst du die Checkboxdaten? Als PHP-Array?
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  3. #3
    Contao-Nutzer
    Registriert seit
    10.03.2011.
    Beiträge
    176

    Standard

    Zitat Zitat von madmaharaja Beitrag anzeigen
    Nun die Frage:
    Wie muss die else/if-Abfrage aussehen, um in der Bestätigungsmail eine etwaige Checkbox-Mehrfachauswahl auszugeben?
    Könnte das helfen: Link?

  4. #4
    Contao-Nutzer
    Registriert seit
    07.07.2009.
    Beiträge
    72

    Standard

    Hallo @Andreas & @Leolux, danke für eure Antworten!
    Ich kenne mich leider gar nicht mit PHP aus (und weiß auch nicht so wirklich, was ein Array ist). Ich arbeite jedenfall im Leads-Notification-Center und versuche mittels Simple Tokens und einfachen if-else-Abfragen einen Bestätigungs-E-Mail-Text auszugeben.

    Bei Radiobuttons oder einem Selectmenü (Einfachauswahl) ist die Sachlage ja ziemlich klar. Da kann ich ja z.B. Folgendes umsetzen:

    HTML-Code:
    {if form_gender=="female"}Frau{elseif form_gender=="male"}Herr{endif}
    Mein Problem ist nun halt bei einer Checkbox, wo ja mehrere Dinge gleichzeitig angehakt werden können und dementsprechend auch in der Bestätigungsmail ausgegeben werden sollen.
    Ich hatte mal versucht, einfach mehrere if-Abfragen hintereinander zu packen, aber das funktioniert wohl nicht:
    HTML-Code:
    {if form_eisauswahl=="optionA"}1 Kugel Schokoeis{endif}{if form_eisauswahl=="optionB"}1 Kugel Erdbeereis{endif}{if form_eisauswahl=="optionC"}1 Kugel Straciatella{endif}
    Und wenn ich da ab der zweiten Option stattdessen ein "elseif" reinpacke, dann wird ja diese Option nicht zusätzlich ausgegeben, sondern ausschließend (entweder optionA oder optionB etc.).

    Deshalb meine Frage: Wie müsste eine einfache else-if-Abfrage aussehen, um eine Mehrfachauswahl in einer Checkbox auszugeben bzw. ist das damit überhaupt möglich?

  5. #5
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.935

    Standard

    Ich habe damit noch nicht gearbeitet, aber spontan würde ich einfach mal zwei Sachen ausprobieren und sehen, was dann passiert:

    • Ein Leerzeichen zwischen dem schließenden "{endif}" und dem nächsten öffnenden "{if" einbauen
    • leerer else-Zweig, also z.B. "{if form_eisauswahl=="optionA"}1 Kugel Schokoeis{else}{endif}"
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  6. #6
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ok, schade, mit PHP wäre es einfach gewesen.

    Ich konnte nichts finden, wie die IF-Simple-Tokens zu benutzen sind. Hast du da irgendwo eine Anleitung?

    Wie sieht der Wert denn aus, der dort zurückgegeben wird, wenn du z.B. 2 von 4 Checkboxen angehakt hast.

    Der Vorschlag von @fiedsch wird wohl nicht funktionieren, denn wieso sollte
    Code:
    form_eisauswahl=="optionA"
    sein, wenn form_eisauswahl mehrere Werte beinhaltet?

    Es braucht ein Handbuch, welche Möglichkeiten man dort mit diesen Simple-Tokens hat.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  7. #7
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.935

    Standard

    Zitat Zitat von Andreas Beitrag anzeigen

    Der Vorschlag von @fiedsch wird wohl nicht funktionieren, denn wieso sollte
    Code:
    form_eisauswahl=="optionA"
    sein, wenn form_eisauswahl mehrere Werte beinhaltet?
    Sorry, copy/paste Fehler meinerseits. Ich habe auch eher auf das zusätzliche {else} abgezielt.
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  8. #8
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Warten wir mal ab, was da von der Checkbox übergeben wird. Es müsste eigentlich ein Array sein.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  9. #9
    Contao-Urgestein Avatar von cliffparnitzky
    Registriert seit
    08.10.2010.
    Ort
    Lüneburg
    Beiträge
    2.446
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Moin,

    also im Grunde muss man für jeden Options-Value eine if-Abfrage bauen.
    "else" wird immer dann geprüft, wenn keiner der Blöcke davor "true" ergeben hat. Das macht bei nem Checkbox Menü keinen Sinn.

    Der Trick ist, dass man in der Abfrage den Optionswert an die variable hängt und das dann auf "true" (entspricht der Zahl 1) prüft.

    Richtig wäre dann ungefähr so:

    PHP-Code:
    {if form_eisauswahl_optionA=="1"}1 Kugel Schokoeis{endif}{if form_eisauswahl_optionB=="1"}1 Kugel Erdbeereis{endif}{if form_eisauswahl_optionC=="1"}1 Kugel Straciatella{endif} 
    siehe dazu auch hier: https://community.contao.org/de/show...enter+checkbox
    Geändert von cliffparnitzky (19.06.2017 um 10:11 Uhr)

  10. #10
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.935

    Standard

    Danke, Cliff für die Lösung.

    Code:
    {if form_eisauswahl_optionA==""}1
    müsste aber analog zu den anderen Optionen wohl

    Code:
    {if form_eisauswahl_optionA=="1"}1
    heißen (oder habe ich etwas übersehen)?
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  11. #11
    Contao-Urgestein Avatar von cliffparnitzky
    Registriert seit
    08.10.2010.
    Ort
    Lüneburg
    Beiträge
    2.446
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Korrekt. Danke. Sehr aufmerksam ... habs geändert.

  12. #12
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Aber dies ist in keiner Doku festgehalten, richtig? Hast du den Code gelesen um dies herauszufinden?
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  13. #13
    Contao-Urgestein Avatar von cliffparnitzky
    Registriert seit
    08.10.2010.
    Ort
    Lüneburg
    Beiträge
    2.446
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von Andreas Beitrag anzeigen
    Aber dies ist in keiner Doku festgehalten, richtig? Hast du den Code gelesen um dies herauszufinden?
    Nein, den verlinkten Beitrag

  14. #14
    Contao-Nutzer
    Registriert seit
    07.07.2009.
    Beiträge
    72

    Daumen hoch

    Hammer, vielen Dank für die Lösung, Cliff! Hab's getestet und es läuft! Und vielen Dank auch an alle anderen für die Hilfestellungen!
    Geändert von madmaharaja (20.06.2017 um 07:06 Uhr)

  15. #15
    Alter Contao-Hase Avatar von haendersonfox
    Registriert seit
    22.05.2012.
    Beiträge
    1.025

    Standard

    hallo in die runde,

    wo schreibt ihr die if-abfragen denn rein?

    also wo muss der code hin?

    und gibt es auch schon ansätze in dieser art, für textfelder?

    lg. alex

  16. #16
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Wenn ich das richtig in Erinnerung habe, dann bezieht sich dies aufs Leads-Notification-Center, und dort hat man in den Einstellungen diese Optionen, die Ausgabe im BE bzw. die gesendeten Mails zu konfigurieren. Ist also explizit ein Feature vom Leads-Notification-Center, welches du nicht allgemein auf andere Bereiche übertragen kannst.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  17. #17
    Contao-Urgestein Avatar von cliffparnitzky
    Registriert seit
    08.10.2010.
    Ort
    Lüneburg
    Beiträge
    2.446
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Die If Abfrage wie oben kannst du sowohl im NC Mailtext als auch z.B. auf der Zielseite des Formulars in einem Textelement verwenden.

    Für Textfeldwerte geht das im Grunde genau so, nur ohne den "_option..." Teil.

  18. #18
    Contao-Fan Avatar von fusch
    Registriert seit
    25.03.2012.
    Ort
    München
    Beiträge
    498
    Contao-Projekt unterstützen

    Support Contao

    Trauriges Gesicht Benachrichtigung Checkbox if/else klappt nicht

    Hallo in die Runde,

    hat sich hier irgendetwas geändert? Ich bekomme es einfach nicht hin, dass hier in der Benachrichtigung etwas ausgegeben wird.

    Contao: Version 4.9.22
    Notification Center: Version 1.6.1
    Conditional Form Fields: Version 2.3.3
    (alles auf dem aktuellsten Stand)

    HTML-Code:
    <fieldset id="ctrl_110" class="checkbox_container mandatory">
       <legend>
          <span class="invisible">Pflichtfeld </span>Team/Jugend<span class="mandatory">*</span>
       </legend>
       <input type="hidden" name="team" value="">
       <span><input type="checkbox" name="team[]" id="opt_110_0" class="checkbox" value="minis"> <label id="lbl_110_0" for="opt_110_0">Minis Jg 2014 und jünger</label></span>
       <span><input type="checkbox" name="team[]" id="opt_110_1" class="checkbox" value="wE"> <label id="lbl_110_1" for="opt_110_1">E weiblich Jg 2012/13</label></span>
       <span><input type="checkbox" name="team[]" id="opt_110_2" class="checkbox" value="mE"> <label id="lbl_110_2" for="opt_110_2">E männlich Jg 2012/13</label></span>
       <span><input type="checkbox" name="team[]" id="opt_110_3" class="checkbox" value="wD"> <label id="lbl_110_3" for="opt_110_3">D weiblich Jg 2010/11</label></span>
       <span><input type="checkbox" name="team[]" id="opt_110_4" class="checkbox" value="mD"> <label id="lbl_110_4" for="opt_110_4">D männlich Jg 2010/11</label></span>
       <span><input type="checkbox" name="team[]" id="opt_110_5" class="checkbox" value="wC"> <label id="lbl_110_5" for="opt_110_5">C weiblich Jg 2008/09</label></span>
       <span><input type="checkbox" name="team[]" id="opt_110_6" class="checkbox" value="mC"> <label id="lbl_110_6" for="opt_110_6">C männlich Jg 2008/09</label></span>
       <span><input type="checkbox" name="team[]" id="opt_110_7" class="checkbox" value="wB"> <label id="lbl_110_7" for="opt_110_7">B weiblich Jg 2006/07</label></span>
       <span><input type="checkbox" name="team[]" id="opt_110_8" class="checkbox" value="mB"> <label id="lbl_110_8" for="opt_110_8">B männlich Jg 2006/07</label></span>
    </fieldset>
    In der Benachrichtigung möchte ich nur die Daten der tatsächlich angemeldeten Teams ausgeben und mache das nach diesem Schema:

    Code:
    {if form_team_minis=="1"}Minis
    Spielklasse: {{options_label::4::##form_class1##}}
    Trainer*in: ##form_teamFirstnameMini## ##form_teamLastnameMini##
    Telefon:    ##form_teamPhoneMini##
    E-Mail:     ##form_teamEmailMini##
    --------------------------------------------------------------------------------
    {endif}
    {if form_team_wE=="1"}E-Jugend weiblich
    Spielklasse: {{options_label::33::##form_class1We##}}
    Trainer*in: ##form_teamFirstnameWe## ##form_teamLastnameWe##
    Telefon:    ##form_teamPhoneWe##
    E-Mail:     ##form_teamEmailWe##
    --------------------------------------------------------------------------------
    {endif}
    Bei diesem Code bleibt die Benachrichtigung leer.

    Wenn ich nur "##form_team##" ausgeben lasse, sieht der Wert der Ausgabe so aus:
    a:2:{i:0;s:5:"minis";i:1;s:2:"mC";}
    (Angemeldet in diesem Fall: minis, mC)

    Bin am verzweifeln, weil ich ungern ohne if versenden würde, weil die Benachrichtigung dann richtig doof aussieht.

    Wer es live ansehen will: https://www.forstenried-handball.de/handballtag (tsv/preview sind die Zugangsdaten, weil noch in der Fertigstellung, aber es sind keine Geheimnisse zu sehen :-))

    Tausend Dank für Eure Hilfe!
    Hella
    Mitglied des Contao User Treffen München
    Aktuelle Termine erfährst Du immer unter www.contao-bayern.de
    Komm' doch mal vorbei!

  19. #19
    Alter Contao-Hase Avatar von haendersonfox
    Registriert seit
    22.05.2012.
    Beiträge
    1.025

    Standard

    hallo hella,

    ich würde das an deiner stelle mal mit dem neuen EFG ausprobieren.
    hier hast du auch zusätzliche inserttags, mit denen du werte ausgeben, wenn sie ausgefüllt sind.

    nach meinem kenntnisstand sollte das mit dem EFG machbar sein!

    lg. alex

  20. #20
    Contao-Fan Avatar von fusch
    Registriert seit
    25.03.2012.
    Ort
    München
    Beiträge
    498
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo Alex,

    danke für den Tipp. Nachdem ich nicht so sicher bin, ob der EFG wirklich zuverlässig weiterentwickelt wird, bleibe ich lieber bei den bewährten terminal42-Extensions. Schweizer Wertarbeit .
    Gibt sicherlich eine Lösung für dieses Problem, so exotisch sollte mein Anwendungsfall eigentlich nicht sein.

    Viele Grüße
    Hella
    Mitglied des Contao User Treffen München
    Aktuelle Termine erfährst Du immer unter www.contao-bayern.de
    Komm' doch mal vorbei!

  21. #21
    Community-Moderatorin & Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    6.715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich habe es mir nicht genau angeschaut. Aber m.E. müsstest Du auf den value prüfen, also minis statt auf 1 usw.
    Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
    Unterstütze bitte das Contao-Projekt (Button Links)
    Weitere Spendenmöglichkeiten
    ------------------------------------------------------------------------------------------------------
    Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
    Contao-Online-Video-Kurse: Contao Academy
    Funktionalität erweitern: Contao-Erweiterungen

    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.




  22. #22
    Contao-Fan Avatar von fusch
    Registriert seit
    25.03.2012.
    Ort
    München
    Beiträge
    498
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Danke Maren, da bin ich schon durch :-)
    Bei der Checkbox gibt es ja mehrere Möglichkeiten, die wahr sein können (siehe Diskussion oben), und daher habe ich mich dann daran orientiert. Vor allem, weil es beim ursprünglichen Autor zum Erfolg geführt hat.

    LG
    Hella
    Mitglied des Contao User Treffen München
    Aktuelle Termine erfährst Du immer unter www.contao-bayern.de
    Komm' doch mal vorbei!

  23. #23
    Community-Moderatorin & Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    6.715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Schau mal die Diskussion auf Slack an. Die Symptome scheinen mir ähnlich https://contao.slack.com/archives/CK...35860027155800
    Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
    Unterstütze bitte das Contao-Projekt (Button Links)
    Weitere Spendenmöglichkeiten
    ------------------------------------------------------------------------------------------------------
    Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
    Contao-Online-Video-Kurse: Contao Academy
    Funktionalität erweitern: Contao-Erweiterungen

    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.




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
  •