HTML-Vorlagen Pifa

Fragen zur Installation von CONTENIDO 4.10? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
Antworten
volupp11
Beiträge: 93
Registriert: Di 28. Nov 2006, 00:33
Wohnort: Berlin
Kontaktdaten:

HTML-Vorlagen Pifa

Beitrag von volupp11 » Sa 31. Okt 2020, 14:15

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.

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: HTML-Vorlagen Pifa

Beitrag von xmurrix » Sa 31. Okt 2020, 16:33

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
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

volupp11
Beiträge: 93
Registriert: Di 28. Nov 2006, 00:33
Wohnort: Berlin
Kontaktdaten:

Re: HTML-Vorlagen Pifa

Beitrag von volupp11 » Sa 31. Okt 2020, 17:23

Ich danke Dir vielmals

volupp11
Beiträge: 93
Registriert: Di 28. Nov 2006, 00:33
Wohnort: Berlin
Kontaktdaten:

Re: HTML-Vorlagen Pifa

Beitrag von volupp11 » Mo 2. Nov 2020, 14:37

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']);
}

Antworten