Login
Neu hier? Registrieren.
Snippet Parameter
eForm ist sehr flexibel und es gibt einige Parameter mit dem man ihm sagen kann was es tun soll.
Erforderliche Parameter
|
Name |
Beschreibung |
|
&formid |
Dieser Parameter ist unbedingt nötig! Dies ist eine unique ID um die Form zu identifizieren. Dies ist
dann nützlich wenn man mehrere Forms in einem Dokument hast.
Das Form Template sollte entweder ein verstecktes Feld mit der
form id ( |
|
&tpl |
Chunk Name (nicht numerisch) oder Dokumenten ID (numerisch) um
es als Form Template zu verwenden. Seit 1.4.4 kann man nun auch
ein Snippet als Template Quelle verwenden. In dieser Version
werden keine Parameter in den Snippet Aufruf übernommen. Für
die regulären Form Felder benötigst man normalerweise
keine Platzhalter, diese werden automatisch von eForm eingefügt.
Die Ausnahme dieser Regel gilt in den Event Funktionen wo man
selber Werte definieren kann. Spezielle Platzhalter die
verfügbar sind: |
|
&report |
Chunk Name (nicht numerisch) oder Dokumenten ID (numerisch)
welche man benutzt um einen Bericht (Antwort) zu generieren.
Tags: Gleich wie &tpl plus |
optionale Parameter
|
Name |
Beschreibung |
|
&to |
|
|
&from |
Setzt die E-Mail Adresse in das „von“ Feld der E-Mail |
|
&fromname |
setzt den Namen des Senders in das „von“ Feld der E-Mail. |
|
&replyto |
E-Mail Adresse oder Feldname (die die E-Mail Adresse beinhaltet). Diese wird als Antwort Adresse eingefügt. |
|
&sendirect |
Benutzt das Formularfeld mit Namen "email" (name="email") als E-Mail-Adresse, an die das Formular gesendet wird. Wird mit 1 aktiviert (Senden an diese Adresse im Formular), Standard ist "0" (das Formular wird an die Adresse geschickt, die mit &to im Snippetaufruf angegeben wird) |
|
&cc |
Das Selbe wie &email nur für CC |
|
&bcc |
Das Selbe wie &email nur für BCC |
|
&ccsender |
Auf 1 setzen um den Benutzer eine Kopie der E-Mail zu senden. |
|
&subject |
Betreff in der E-Mail dieser kann auch |
|
&noemail |
Verhindert, dass eForm E-Mails verschickt. Z.B. sinnvoll, wenn nur Daten in die Datenbank geschrieben werden sollen. |
|
&mailselector |
Benutzt den Namen eines Formularfeldes als Auswahlmöglichkeit, an wen das Formular geschickt werden soll. Beispiel: Im Formular:
Im eForm-Snippetaufruf dann
|
|
&mobile |
mobile E-Mail Adresse. Diese wird genutzt um eine kurze Meldung an ein mobiles Gerät zu senden. |
|
&mobiletext |
Text welches an das mobile Gerät gesendet wird, es kann
auch |
|
&thankyou |
Chunk Name (nicht numerisch) oder Dokumenten ID (numerisch). Dieses Chunk wird angezeigt wenn das Absenden des Formulars erfolgreich war. Tags: die gleichen wie &tpl |
|
&gotoid |
Dokumenten ID die nach dem erfolgreichen absenden angezeigt wird. siehe &thankyou |
|
&category |
Kategorie ID oder Name um eForms zu Kategorisieren. Wenn die Kategorie noch nicht besteht wird eine neue angelegt. Diese wird dann im Betreff sichtbar. |
|
&keywords |
Komma getrennte Liste mit Keywords oder |
|
&autosender |
|
|
“autosenderName |
Name der sichtbar wird, wenn eine automatische E-Mail gesendet wird. |
|
&automessage |
Chunk Name (nicht numerisch) oder Dokumenten ID (numerisch).
Diese wird für eine automatisch generierte E-Mail benutzt.
Genutzt werden können auch Anmerkung: eForm sendet die Automatische E-Mail zur angegebenen E-Mail Adresse im [email] Feld. |
|
&allowhtml |
Wird der Parameter auf 1 gesetzt, ist es dem Benutzer erlaubt HTML zu benutzen, standard ist 0 (deaktiviert) |
|
&language |
Unterstützt mehrsprachige Validation- und Fehler Meldungen. Benutzt die selben language Namen wie in MODx. |
|
&vericode |
aktiviert Captcha. Das Template beinhaltet ein Verfications
Feld und einen |
|
&debug |
aktiviert die erweiterte Fehler Ausgabe. Am meisten genutzt für #LIST und #SELECT validation. |
|
&sendAsHtml |
Das E-Mail wird als HTML gesendet. Mögliche Werte: &sendAsHtml=`1` sendet alle E-Mails als HTML, &sendAsHtml=`report,mobile,autotext` sendet die speziellen Text als HTML (in diesem Fall: report, mobile und autotext) |
|
&sendAsText |
Das E-Mail wird als Plain Text gesendet. Die gleichen Werte wie bei &sendAsHtml |
|
&sessionVars |
Komma getrennte Liste der $_SESSION Variablen Namen. Diese werden einer Liste hinzugefügt, bevor das Formular angezeigt wird. Es kann für Instanzen genutzt werden um Werte (versteckten) Feldern hinzuzufügen. Wenn man diesen Parameter benutzt sie dir aber sicher das man keine sensible Daten überträgst.
Da eForm nicht das ganze Formular im ersten Durchgang
verarbeitet, müssen zur Übergabe der Werte die gleichen
Platzhalter auch in der Vorlage des Formulars vorhanden sein. Zum
Beispiel: |
|
&postOverides |
wird in Kombination von &sessionVars verwendet. Normale Session Variablen überschreiben die POST Werte. Beim setzen des Wertes &postOverides=`1` bleiben die POST Weret erhalten (da sie die Priorität haben) |
|
&reportAbuse |
setzen von &reportAbuse=`1` sendet eine E-Mail an die System E-Mail Adresse. Wenn E-Mail Injections fehlschlagen werden sie von eForm notiert. |
|
&cssStyle |
fügt eine Style Deklaration im <head> Bereich ein, wenn das Formular oder das Thank You Chunk angezeigt wird. (nur wenn der &thankyou Parameter gesetzt ist). Werte können eine Dokumenten ID (numerisch), ein Chunk Name oder (eine relative, absolute) URL zu einer CSS Datei sein. Mehrere Werte könne durch ein Komma getrennt verwendet werden. (Es können somit alle 3 Fälle abgedeckt werden) Beispiele:
|
|
&jScript |
|
|
&protectSubmit (default 0) |
Verhindert, dass ein Formular mehrfach abgesendet wird, das heißt Formulare können nach erfolgreichem Abschicken nicht erneut abgesendet werden, solange die Inhalte der Felder gleich bleiben. Dies wird durch eine Session Variable erreicht, die die md5-Hash-verschlüsselten Felder mit vergleicht. Welche Felder verglichen werden sollen, stellt &protectSubmit fest. Entweder "1" = alle Felder, 0 = keine Felder, oder mit einer durch Komma getrennten Liste der zu vergleichenden Felder. Um sicherzustellen, dass dies mit verschiedenen Formularen funktioniert, wird die Session Variable durch &formid + Hash eindeutig festgelegt. |
|
&submitLimit (default 0) |
Bewirkt ein Zeitlimit zwischen dem Absenden der Formulare. Nachdem ein Formular erfolgreich abgeschickt wurde, kann es - egal mit welchem Inhalt - innerhalb dieses Zeitraumes (in Minuten) nicht noch einmal verschickt werden. Wird dies in Kombination mit &protectSubmit genutzt, erhält &submitLimit Priorität, das heißt nach dem festgelegten Zeitraum kann das Formular erneut verschickt werden, egal ob die in &protectSubmit festgelegten Felder identisch sind oder nicht. Ebenso wie bei &protectSubmit wird die Session Variable durch &formid + Hash eindeutig festgelegt. |
|
&requiredClass |
CSS Klassen Name. Fügt beim validieren den benötigten Feldern eine CSS Klasse hinzu. Die andere Klasse wird beibehalten. Wenn man bereits eine Klasse auf ein Label oder Feld hinzugefügt hast und man eine un-vorhergesehenes CSS Resultat siehst, schau dir die Reihenfolge der zugefügten Klassen an (Kaskade). Der &requiredClass Parameter wird an die erste Stelle des class Attributs gesetzt. |
|
&invalidClass |
CSS Klassen Name. Fügt den Feldern bei denen die Validation fehlgeschlagen ist eine CSS Klasse hinzu. Wie bei &requiredClass wird auch dieser Parameter bevorzugt. |
|
&runSnippet (neu in 1.4.4) |
Erwartet einen Snippet Namen. Das Snippet wird vor dem eForm handlich verarbeitet. Ein Parameter, der &&formid wird dem Snippet übergeben. Jeglicher Rückgabewert des Snippets wird abgelegt. Das kann zum einfügen anderer Funktionen als alternativer Snippet Aufruf im Dokument verwendet werden. eForm ignoriert Aufrufe von Snippets die nicht mit modx-runsnippet aufgerufen werden Leider ignoriert eForm nicht existente Snippets ohne weitere Meldung, dies liegt an der Art und Weise wie $modx->runSnippet Snippet-Rückgabewerte behandelt. |
|
&snipFolder (neu in 1.4.4) |
Falls man verschiedene eForm-Versionen gleichzeitig nutzen will. Will man zum Beispiel die Version 1.4.4. nutzen, speichert man diese unter 'assets/snippets/eform/1.4.4' ab und gibt beim eForm-Aufruf &snipFolder=`eform/1.4.4` an. Wichtig: Ohne abschließenden Slash! |
PHP Ereignis Funktionen
Die Ereignis Funktionen werden zu bestimmten Zeitpunkten des eForm-Prozesses verarbeitet. Diese sind:
|
&eFormOnBeforeMailSent |
|
|
&eFormOnMailSent |
Erwartet einen Funktionsnamen. Die Funktion wird nachdem alle Templates geparst und nach dem senden der E-Mail ausgeführt. |
|
&eFormOnBeforeFormParse |
Erwartet einen Funktionsnamen. Die Funktion wird aufgerufen nach dem alle Templates geladen worden sind und das Formular als valide akzeptiert worden ist. Die Funktion soll folgende Parameter beinhalten. &$templates – (als Referenz) ein assoziatives Array der geladenen Templates mit dem index „tpl“, „report“, „thankyou“ und „autotext“. Sei dir bewusst das die letzten drei (report, thankyou und autotext) nur dann einen Wert haben wenn das Formular gesendet worden ist. |
|
&eFormOnBeforeFormMerge |
Erwartet ein Funktionsnamen. Die Funktion wird nur ausgeführt wann immer das Formular sichtbar ist und bevor alle Platzhalter übergeben worden sind. Die Funktion sollte folgende Parameter beinhalten: &$fields (als Referenz) - ein assoziatives Array der Felder und Platzhalter Werte. |
|
&eFormOnValidate |
Erwartet ein Funktionsnamen. Diese Funktion wird direkt nach dem validieren aufgerufen. Man kann dieses Ereignis nutzen um eine eigene Validation Logic zu verwenden. Die Funktion sollte folgende Parameter beinhalten:
Beispiele:
|