Ich möchte ein Kontaktformular erstellen, bei welchem die Empfängeradresse ausgewählt werden kann.
Beim Suchen nach einer Lösung bin ich auf folgendes gestossen: http://www.tl-usertreffen.weitzeldesign.com/efg-6.html
Das Problem ist momentan einen Hook einzubauen.
Ich habe in system/config die dcaconfig.php angepasst:
PHP-Code:
$GLOBALS['TL_HOOKS']['exampleMailRecipient'][] = array('mailchoice', 'exampleMailRecipient');
und in system/modules/efg die Datei mailchoice.php erstellt
PHP-Code:
<?php
// $arrSubmitted enthalt die POST-Werte
// $arrFiles ggf. Datei-Uploads
// $intOldId die ID des bearbeiteten Datensatzes, im Falle von Frontend-Bearbeitung
// $arrForm enthaelt die 'Formular-Konfiguration'
class EfgCallbacks extends Backend
{
public function exampleMailRecipient($arrSubmitted, $arrFiles, $intOldId, &$arrForm)
{
// Einschraenkung auf das Formular
//if ($arrSubmitted['FORM_SUBMIT'] == 'kontaktformular')
//{
// überschreiben des Wertes von 'Empfänger-Adresse' mit dem Wert aus einem Fomularfeld
$arrForm['formattedMailRecipient'] = 'meinemail@gmx.ch';
//}
return $arrSubmitted;
}
}
?>
Zum Testen habe ich einfach eine statische Adresse eingegeben.
Mir ist nicht klar, ob ich die Dateien am richtigen Ort erstellt habe. Leider habe ich auch kein passendes Tutorial im Netz gefunden. Bin um jede Hilfe oder ein Tutorial sehr dankbar!
Update:
Ich bin nun etwas weiter gekommen. Nun habe ich den Hook direkt in system/modules/efg/config/config.php registriert.
Meine Class habe ich als eine neue Datei unter system/modules/efg/classes gespeichert.
Nun wird der Code ausgeführt, jedoch kann ich die Variablen der Formularfelder noch nicht anpassen. Mit
PHP-Code:
$arrSubmitted['name'] = 'test';
wird anschliessend im versendeten Mail nichts geändert.
Es ist doch schon so, dass beim drücken des Abensendbuttons zuerst der Hook ausgeführt wird und anschliessend die Daten versandt werden?
Lesezeichen