Hallo Fabian,
das Füllen von Optionswerten mit all diesen Formaten (HTML, XML) und Sonderzeichen ist nicht möglich.
Diese Werte kommen etwa explizit im JavaScript Code in Abfragen vor.
Dort ist das alles nicht erlaubt, bzw. käme zu einer irrsinnigen Escape-Schlacht, bei der nicht wirklich feststeht, wer am Ende gewinnt.
Im JavaScript liegen die Werte auch mal 'ausgedruckt' vor und sind nicht einfach in einer lokalen Variable versteckt.
Durch reine Konfiguration ist das mit Visforms nicht möglich.
Es ist aber mit ganz wenig PHP-Code in einem Visforms Custom Plugin mit wenig Aufwand machbar.
Die Dokumentation mit einem Beispiel für die Entwicklung eines individuellen Visforms Plugins findest du hier:
docs.joomla-4.visforms.vi-solutions.de/d...-plugin-development/
Die Dokumentation mit den Plugin-Events findest du hier:
docs.joomla-4.visforms.vi-solutions.de/d...-plugin-development/
Seit kurzen wird ein komplettes Visforms Custom Plugin Template mit leeren Funktionsrümpfen für alle Event-Handler mit installiert:
Code:
plugins/visforms/vfcustomplugin/vfcustomplugin.php
Du musst es nur
1 - Installieren:
Administration >> System >> Installieren >> Überprüfen >> Auswählen und Button 'Überprüfen' klicken.
2 - Aktivieren:
Administration >> System >> Verwalten >> Plugins >> Auswählen und Button 'Aktivieren' klicken.
Im Plugin-Event 'onVisformsEmailPrepare' kannst du die Eigenschaften der versendeten Mails ändern.
Dort ist unter anderem auch das Ändern des finalen Mail-Textes ($mail->Body) möglich.
In der folgenden Funktion wird für die Ergebnismail hinter den Optionswert (label-1, ..., label-3) eine Landes-Flagge als kleines Icon gesetzt.
Die Beispiel-Icons der Landes-Flaggen stammen aus der Visforms Installation.
Code:
public function onVisformsEmailPrepare($context, $mail, $form): bool {
// context = 'com_visforms.form.resultmail'
// context = 'com_visforms.form.receiptmail'
// triggered in VisformsModel after the mail object is instantiated and directly before the mail is sent:
// can be used to modify the mail object: mail object is instantiated and all properties are set and can be modified
// example code: simply change email text
// $mail->Body = '<p>My new result mail body.</p>';
if('com_visforms.form.resultmail' == $context) {
$mail->Body = preg_replace('#label-1#', 'label-1 <img src="http://localhost/developj4/media/com_visforms/img/es_es.gif">', $mail->Body);
$mail->Body = preg_replace('#label-2#', 'label-1 <img src="http://localhost/developj4/media/com_visforms/img/fr_fr.gif">', $mail->Body);
$mail->Body = preg_replace('#label-3#', 'label-1 <img src="http://localhost/developj4/media/com_visforms/img/nl_nl.gif">', $mail->Body);
}
return true;
}
Liebe Grüße, Ingmar