Ergebnis 1 bis 8 von 8

Thema: [gelöst] EfG - if/else/endif mit Insert-Tags

  1. #1
    Contao-Fan
    Registriert seit
    27.06.2012.
    Beiträge
    600

    Standard [gelöst] EfG - if/else/endif mit Insert-Tags

    Hallo,

    ich versuche gerade ein if/else mit den Insert-Tags der Formularfelder im Bestätigungstemplate auszugeben und erhalte folgende Fehlermeldung:

    Code:
    Fatal error: Uncaught exception Exception with message Error eval() in FormData::evalConditionTags ( Parse error: syntax error, unexpected T_INLINE_HTML, expecting T_CASE or T_DEFAULT or '}' in /var/www/project/system/modules/efg/FormData.php(2020) : eval()'d code on line 45 ) thrown in …/system/modules/efg/FormData.php on line 2027
    Der Beispielcode vom ER

    Code:
    {if '{{form::anrede}}' == 'Frau'}Guten Tag Frau{elseif '{{form::anrede}}' == 'Herr'}Guten Tag Herr{endif}
    führt zum gleichen Ergebnis.

    Ist zu diesem Fehler bereits etwas bekannt?

    Contao 2.11.9
    EfG 1.16.5

    danke lg
    Geändert von valentin_ (03.06.2013 um 14:39 Uhr)

  2. #2
    Contao-Fan
    Registriert seit
    27.06.2012.
    Beiträge
    600

    Standard

    Die richtige Schreibweise ist mit einfachen geschwungenen Klammern, richtig?

    Mit doppelten {} wird es zwar geparsed, aber die if/else Anweisung trifft nicht zu bzw. die Insert-Tags werden normal ausgegeben.

  3. #3
    Contao-Fan Avatar von tom
    Registriert seit
    16.06.2009.
    Ort
    Ludwigsburg
    Beiträge
    385

    Standard

    Hallo valentin_,

    die richtige Schreibweise für die "Bedingungs-Tags" ist mit einfacher geschweifter Klammer, also
    {if ...}
    {elseif ...}
    {else}
    und
    {endif}

    Die doppelte geschweifte Klammer ist zu verwenden für die "normalen" Insert-Tags (z.B. {{form::name}} oder {{form::anrede}}).

    Ich habe eben getestet und konnte keinen Fehler feststellen.
    Die o.g. Fehlermeldung erhalte ich allerdings dann, wenn ich z.B. statt der letzten geschweiften Klammer versehentlich eine eckige Klammer verwende:
    {if '{{form::anrede}}' == 'Frau'}Guten Tag Frau{elseif '{{form::anrede}}' == 'Herr'}Guten Tag Herr{endif]

    Schöne Grüße
    Tom

  4. #4
    Contao-Fan
    Registriert seit
    27.06.2012.
    Beiträge
    600

    Standard

    Hallo Tom,

    danke für deine Antwort. Hab die Schreibweise nochmals überprüft - alles richtig.

    Welche Version hast du im Einsatz?

    lg

  5. #5
    Contao-Fan Avatar von tom
    Registriert seit
    16.06.2009.
    Ort
    Ludwigsburg
    Beiträge
    385

    Standard

    Hallo valentin_,

    getestet eben mit EFG 1.16.5 (build 9) und Contao 2.11.9.

    Kannst Du mir Dein Template und Bestätigungstext etc. mal zusenden? Oder mir evtl. einen Zugang zur Installation (möglichst Backend und ftp) ermöglichen?

    Schöne Grüße
    Tom

  6. #6
    Contao-Fan
    Registriert seit
    27.06.2012.
    Beiträge
    600

    Standard

    Gerade als ich dir die Daten senden wollte finde ich den Fehler ...

    Bevor ich das if/else-Feature von EfG entdeckt habe, habe ich versucht die Abfrage über PHP zu machen - und diese war jetzt noch im Template drin und hat den Fehler ausgelöst.

    Funktioniert nun einwandfrei und vielen Dank nochmal für deine Hilfe!

  7. #7
    Contao-Fan Avatar von k-webdesign
    Registriert seit
    07.06.2010.
    Ort
    Karlsruhe
    Beiträge
    648
    Partner-ID
    5911
    User beschenken
    Wunschliste

    Standard

    funktioniert das in Contao 3 nicht mehr?

    ich möchte beim anklicken der checkbox für den Rückruf-service im FE gerne die Info im Kontaktformular übermitteln

    Code:
    Telefon:
    {{form::phone}}
    {if '{{form::callback}}' == 'yes'}Der Kunde möchte zurückgerufen werden.{elseif}{endif}
    ausgegeben wird aber nichts.

    Contao 3.3.3, EFG 2.2.1

  8. #8
    Contao-Fan
    Registriert seit
    08.07.2009.
    Beiträge
    530

    Standard

    Das Thema ist nicht mehr ganz aktuell, die Verwendung von if-Abfragen im Mail-Template klappt jedoch problemlos. Mich würde interessieren, ob es auch direkt im Formular eine Möglichkeit gibt, if-Abfragen umzusetzen. Dabei könnten bspw. Session- oder Post-Variablen ausgewertet werden, um bestimmte Texte im Formular anzuzeigen.

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
  •