Mit dem Hook "prepareFormData" ein Formular-Feld hinzufügen
Hallo,
ich bitte um euren Rat bei folgender Sache:
Ich möchte mit dem Hook "prepareFormData" vor dem Versenden eines E-Mail-Kontaktformulars ein Feld zum Formular hinzufügen.
Mein bisheriger Ansatz:
In der "config.php" meines Modules:
Code:
$GLOBALS['TL_HOOKS']['prepareFormData'][] = array('MyClass', 'myPrepareFormData');
In der Datei "MyClass.php":
Code:
<?php
namespace Contao;
class MyClass
{
public function myPrepareFormData($arrSubmitted,$arrLabels,$arrFields,$objForm)
{
$arrSubmitted['deadline'] = strtotime('+1 hour', $arrSubmitted['tstamp']);
$text = "";
foreach ($arrSubmitted as $key => $value) {
$text .= $key.": ".$value."\n";
}
$email = new \Email();
$email->subject = 'Nachricht per Website-Kontaktformular';
$email->text = $text;
$email->sendTo('meinemail@mail.com');
}
}
Diese Lösung funktioniert grundsätzlich.
Jedoch darf der Redakteur im Contao-Backend beim Formular die Checkbox "Per E-Mail versenden" nicht aktivieren –
da die Mail ja im Hook versendet wird.
... gibt es keinen Hook der bereits vor dem Versenden des Formulars per E-Mail eingreift?
... und würdet ihr das generell auch so lösen wie ich es gemacht habe, oder geht das eleganter? :)
Vielen Dank im Voraus für eure Tipps!
mp_forms und neues Feld für die Zusammenfassung vorm Absenden
Ich weiß, dass hier etwas anderes behandelt wird, trotzdem wage ich zu fragen.
Ich brauche ein Feld, um die in der Sitzung gespeicherten Daten auf der letzten Seite vorm Absenden auszugeben. Die Diskussion dazu findet ihr hier.
Ich möchte fragen, ob jemand vielleicht einen Ansatz weiß und beschreiben könnte?