MODx: Parameter der Eventfunktionen von eForm

von Thomas Jakobi am Mittwoch, 7. Mai 2008 um 19:19 Uhr.

eForm ist ein MODx-Snippet welches das CMS um Formularauswertung und -validierung erweitert. Dazu enthält es viele eingebaute Funktionen. Sollten diese einmal nicht ausreichen, lässt sich das Snippet an verschiedenen Stellen im Ablauf der Formularverarbeitung durch eigene Eventfunktionen erweitern.

Die Eventfunktionen erwarten bestimmte Parameter. Die Funktionsparameter sollten als Verweis (Referenz) definiert werden, damit der Parameter innerhalb der selbst definierten Funktion verändert und durch die Übergabe als Verweis auch wieder an eForm zurück übergeben werden kann.

eFormOnBeforeMailSent
Diese Funktion erwartet den Parameter &$fields. Dieser enthält ein assoziatives Array von Formular-Feldnamen und ihren Inhalten. Ein Formularfeld mit dem name-Tag 'test' kann mit $fields['test'] angesprochen und auch verändert werden.

eFormOnMailSent
Diese Funktion erwartet den Parameter &$fields. Dieser enthält wie auch bei eFormOnBeforeMailSent ein assoziatives Array von Formular-Feldnamen und ihren Inhalten.

eFormOnBeforeFormParse
Diese Funktion erwartet die Parameter &$fields und &$templates&$fields enthält wie auch bei eFormOnBeforeMailSent ein assoziatives Array von Formular-Feldnamen und ihren Inhalten. &$templates enthält ein assoziatives Array der geladenen Template-Chunks 'tpl', 'report','thankyou' und 'autotext' und ihren Inhalten. Das Template-Chunk 'tpl' kann mit $templates['tpl'] angesprochen und verändert werden.

eFormOnBeforeFormMerge
Diese Funktion erwartet den Parameter &$fields. Dieser enthält wie auch bei eFormOnBeforeMailSent ein assoziatives Array von Formular-Feldnamen und ihren Inhalten. Einem Formularfeld mit dem name-Tag 'test' wird im value-Tag der Inhalt von $fields['test'] übergeben.

eFormOnValidate
Diese Funktion erwarten die Parameter &$fields, &$vMsg, &$rMsg.
&$fields enthält wie auch bei eFormOnBeforeMailSent, eFormOnMailSent und eFormOnBeforeFormMerge ein assoziatives Array von Formular-Feldnamen und ihren Inhalten. &$vMsg enthält ein numerisches Array von Validierungs-Fehlermeldungen. &$rMsg enthält ein numerisches Array von fehlenden benötigten Feldern. Da die numerischen Arrays schon gefüllt sein können, muss man neue Werte an $vMsg und $rMsg anhängen. Alle Fehlermeldungen werden von eForm gebündelt und zusammen ausgegeben.

Die Artikelreihe zu den eForm Eventfunktionen umfasst mittlerweile folgende Texte: