YForm Choice-Feld: Label statt Wert in E-Mail

Quell-ID: GitHub Discussion #6

Use Case

Bei einem YForm-Formular mit einem Choice-Feld (Dropdown/Radio) soll in der versendeten E-Mail nicht der technische Wert, sondern das für den Benutzer sichtbare Label angezeigt werden.

Verwendete AddOns

  • YForm

Problemstellung

Ein Choice-Feld ist wie folgt definiert:

choice|sex|Geschlecht|Weiblich=1,Männlich=2,Divers=3|1|0|

Die Standardausgabe REX_YFORM_DATA[field="sex"] liefert nur den Wert “1” statt “Weiblich”.

Lösung

YForm bietet spezielle Suffixe für Choice-Felder in E-Mail-Templates:

Verfügbare Platzhalter

Platzhalter Ausgabe
REX_YFORM_DATA[field="choice"] Technischer Wert (z.B. “1”)
REX_YFORM_DATA[field="choice_LABELS"] Labels als kommaseparierter Text
REX_YFORM_DATA[field="choice_LIST"] Liste mit Checkboxen-Darstellung

Beispiel für _LABELS

Büro Frankfurt

Beispiel für _LIST

[ ] Büro Gießen
[⨉] Büro Frankfurt
[ ] Büro München

Anwendung im E-Mail-Template

Guten Tag,

Sie haben folgende Angaben gemacht:

Geschlecht: REX_YFORM_DATA[field="sex_LABELS"]

Standortwahl:
REX_YFORM_DATA[field="standort_LIST"]

Besserer Ansatz für komplexe Formulare

Für umfangreiche Formulare empfiehlt sich ein strukturiertes E-Mail-Template:

<?php
// E-Mail-Template mit PHP
$geschlecht = $this->getValue('sex_LABELS');
$standorte = $this->getValue('standort_LABELS');
?>

<table>
    <tr>
        <td><strong>Geschlecht:</strong></td>
        <td><?= $geschlecht ?></td>
    </tr>
    <tr>
        <td><strong>Standorte:</strong></td>
        <td><?= $standorte ?></td>
    </tr>
</table>

Hinweis

Diese Suffixe funktionieren bei allen Choice-Feld-Typen (select, radio, checkbox) und sind in der YForm-Hilfe dokumentiert.