Seite 1 von 1

HTML-Vorlagen Pifa

Verfasst: Sa 31. Okt 2020, 14:15
von volupp11
Gibt es eine Möglichkeit, dass beim Pifa-Formular die HTML-Vorlage cms_pifaform_kontakt_mail_client.tpl auch als HTML versendet wird? Aktuell werden alle Mails der Formulare als PlainText versendet.

Re: HTML-Vorlagen Pifa

Verfasst: Sa 31. Okt 2020, 16:33
von xmurrix
Hallo volupp11,

es gibt leider keine Möglichkeit, dies zu konfigurieren.

Die E-Mail-Instanz wird in der Datei contenido/plugins/form_assistant/classes/class.pifa.form.php erstellt, siehe Zeilen 576-577

Code: Alles auswählen

            $mailer = new cMailer();
            $message = Swift_Message::newInstance($opt['subject'], $opt['body'], 'text/plain', $opt['charSet']);
Der Content-Typ der E-Mail ist mit 'text/plain' fest vorgegeben.

Du kannst aber der Wert 'text/plain' in 'text/html' ändern, oder machst das abhängig vom Inhalt von $opt['body'], also falls in $opt['body'] HTML-Elemente vorkommen, z. B. wenn ''<!DOCTYPE html>' oder '<html>'. Die Änderung der Sourcen ist aber keine gute Idee, da das beim nächsten Update überschrieben wird.

Alternativ kannst du ein eigenes Plugin erstellen, z. B. 'my_plugin_name', das nach 'Form Assistant' geladen wird und eine Kopie der class.pifa.form.php in 'contenido/plugins/my_plugin_name/classes/' ethält. Darin kannst du dann die Anpassungen machen. In deiner Plugin-Konfiguration, also in der 'contenido/plugins/my_plugin_name/includes/config.plugin.php' kannst du dann den Autoloader für die Klassen PifaFormCollection & PifaForm mit deiner Version überschreiben:

Code: Alles auswählen

cAutoload::addClassmapConfig([
    'PifaFormCollection' => 'contenido/plugins/my_plugin_name/classes/class.pifa.form.php',
    'PifaForm' => 'contenido/plugins/my_plugin_name/classes/class.pifa.form.php',
]);
Bei einem Update solltest du aber deine Version der 'class.pifa.form.php' mit der Version aus 'Form Assistant' vergleichen, um eventuelle Änderungen zu übernehmen.

Gruß
xmurrix

Re: HTML-Vorlagen Pifa

Verfasst: Sa 31. Okt 2020, 17:23
von volupp11
Ich danke Dir vielmals

Re: HTML-Vorlagen Pifa

Verfasst: Mo 2. Nov 2020, 14:37
von volupp11
Für alle anderen.
Die Umschreibung funktioniert:

Code: Alles auswählen

$mailer = new cMailer();
if(preg_match("/html/",$opt['body'])) {
	$message = Swift_Message::newInstance($opt['subject'], $opt['body'], 'text/html', $opt['charSet']);
} else {
	$message = Swift_Message::newInstance($opt['subject'], $opt['body'], 'text/plain', $opt['charSet']);
}