News

Samstag, 18.Oktober 2008

Mailform wird ab nun in der t3-forge weiterentwickelt

Sonntag, 12.Oktober 2008

Die Version 0.9.8 bietet vermehrt Funktionen an um in allfälligen Zusatzextensions verwenden zu...

Sonntag, 28.September 2008

Diese Version bringt eine kleine Änderung mit sich, dass die Felder nun fast völlig frei innerhalb...

mehr News »

Templates

(Man beachte, dass die Templates lediglich dazu dienen, das Aussehen der Formularfelder zu steuern. Sie sollten nicht dafür gebraucht werden die Zusammenstellung der Felder festzulegen. Für die Zusammenstellung steht der Wizard zur Verfügung)

Template Referenz

Es existieren drei verschiedene Möglichkeiten die Ausgabe zu steuern. Es gibt zwei verschiedene StyleSheets (css), das eine wird in das HTML-Email eingebunden, das andere im Frontend hinzugefügt. Diese zwei StyleSheets können separat entweder im Konstanten-Editor von Typo3 oder im Flexform von der Extension. Falls Konstanten gesetzt sind, und das sind sie standardmässig, werden die Konstanten verwendet. Falls man im Flexform eine Angabe macht, so werden die Konstanten überschrieben und haben nur auf das einzelne Inhaltselement keine Wirkung, in anderen Inhaltselemente werden weiterhin die Konstanten verwendet.

Eine weitere Form von Templates bietet die Feldtemplates-Datei. In Feldtemplates können Aussehen der einzelnen Felder definiert werden.

Feldtemplates

Jedes Feld hat eine Start- und Endmarkierung. Da jeweils von zwei unterschiedlichen übergeordneten Typen ausgegangen wird, ist im Template diese Ordnung ebenfalls vorhanden. (Feldtypen siehe 4.2)

  • ###FORM_[TYP]### Startmarkierung eines interaktiven Feldtyps
  • ###END_FORM_[TYP]### Endmarkierung eines interaktiven Feldtyps
  • ###LAYOUT_[TYP]### Startmarkierung eines statischen Feldtyps (Layoutelemente)
  • ###LAYOUT_[TYP]### Endmarkierung eines interaktiven Feldtyps
  • ###SUBEL_[VARNAME]### Startmarkierung eines Unterelements in einem Feld
  • ###END_SUBEL_[VARNAME]### Endmarkierung eines Unterelements in einem Feld
HTML
###FORM_DEFAULT###
<div id="###OUTPUT_FIELD_ID###" class="###OUTPUT_EXTRA_CSS###">
  <table summary="" cellpadding="0" cellspacing="0" border="0">
		<tr>
			<td><label style="width:200px;" class="tx_mailform_label_default" for="###OUTPUT_INPUT_ID###">###OUTPUT_LABEL###</label></td>
			<td>###OUTPUT_FORMELEMENT###</td><td>###OUTPUT_ICON###</td>
		</tr>
	</table>
</div>
###END_FORM_DEFAULT###
 
###FORM_TEXT###
<div id="###OUTPUT_FIELD_ID###" class="###OUTPUT_EXTRA_CSS###">
  <table summary="" cellpadding="0" cellspacing="0" border="0">
		<tr>
			<td style="width:200px;"><label class="tx_mailform_label_text tx_mailform_label_global" for="###OUTPUT_INPUT_ID###">###OUTPUT_LABEL###</label></td>
			<td>###OUTPUT_FORMELEMENT###</td>
			<td>###OUTPUT_ICON###</td>
			<td>###OUTPUT_ERR_MSG###</td>
		</tr>
	</table>
</div>
###END_FORM_TEXT###
 
###FORM_TEXTWDESC###
<div id="###OUTPUT_FIELD_ID###" class="###OUTPUT_EXTRA_CSS###">
  <table summary="" cellpadding="2" cellspacing="5" border="0">
  	<tr>
  		<td rowspan="2" style="width:200px;"><label class="tx_mailform_label_textwdesc tx_mailform_label_global" for="###OUTPUT_INPUT_ID###"><b>###OUTPUT_LABEL###</b></label></td>
  		<td>###OUTPUT_FORMELEMENT###</td>
  		<td>###OUTPUT_ICON###</td>
  	</tr>
      <tr>
        <td colspan="2">###OUTPUT_DESCRIPTION###</td>
      </tr>
</table>
</div>
###END_FORM_TEXTWDESC###
 
###FORM_TEXTAREA###
<div id="###OUTPUT_FIELD_ID###" class="###OUTPUT_EXTRA_CSS###">
  
  <table summary="" cellpadding="0" cellspacing="0" border="0">
		<tr>
			<td style="width:200px;"><label class="tx_mailform_label_textarea tx_mailform_label_global" for="###OUTPUT_INPUT_ID###">###OUTPUT_LABEL###</label></td>
			<td>###OUTPUT_FORMELEMENT###</td><td>###OUTPUT_ICON###</td>
		</tr>
	</table>
</div>
###END_FORM_TEXTAREA###
 
###FORM_SELECT###
<div id="###OUTPUT_FIELD_ID###" class="###OUTPUT_EXTRA_CSS###">
  	<table summary="" cellpadding="0" cellspacing="0" border="0">
		<tr>
			<td style="width:200px;"><label class="tx_mailform_label_select tx_mailform_label_global" for="###OUTPUT_INPUT_ID###">###OUTPUT_LABEL###</label></td>
			<td>###OUTPUT_FORMELEMENT###</td>
			<td>###OUTPUT_ICON###</td>
		</tr>
		<tr>
			<td></td>
			<td>###OUTPUT_ERR_MSG###</td>
		</tr>
	</table>
</div>
###END_FORM_SELECT###
 
###FORM_CHECKBOX###
<div id="###OUTPUT_FIELD_ID###" class="###OUTPUT_EXTRA_CSS###">
  <table summary="" cellpadding="0" cellspacing="0" border="0">
		<tr>
			<td style="width:200px;"><label class="tx_mailform_label_checkbox tx_mailform_label_global" for="###OUTPUT_INPUT_ID###">###OUTPUT_LABEL###</label></td>
			<td>###OUTPUT_FORMELEMENT###</td>
			<td>###OUTPUT_ICON###</td>
		</tr>
	</table>
</div>
###END_FORM_CHECKBOX###
 
###FORM_RADIO###
<div id="###OUTPUT_FIELD_ID###" class="###OUTPUT_EXTRA_CSS###">
  <table summary="" cellpadding="0" cellspacing="0" border="0">
		<tr>
			<td style="width:200px;"><label class="tx_mailform_label_radio tx_mailform_label_global" for="###OUTPUT_INPUT_ID###">###OUTPUT_LABEL###</label></td>
			<td>###OUTPUT_FORMELEMENT###</td><td>###OUTPUT_ICON###</td>
		</tr>
	</table>
</div>
###END_FORM_RADIO###
 
###FORM_PASSWORD###
<div id="###OUTPUT_FIELD_ID###" class="###OUTPUT_EXTRA_CSS###">
  <table summary="" cellpadding="0" cellspacing="0" border="0">
		<tr>
			<td style="width:200px;"><label class="tx_mailform_label_password tx_mailform_label_global" for="###OUTPUT_INPUT_ID###">###OUTPUT_LABEL###</label></td>
			<td>###OUTPUT_FORMELEMENT###</td><td>###OUTPUT_ICON###</td>
		</tr>
	</table>
</div>
###END_FORM_PASSWORD###
 
###FORM_HIDDEN###
<div id="###OUTPUT_FIELD_ID###" class="###OUTPUT_EXTRA_CSS###">
  ###OUTPUT_FORMELEMENT###
</div>
###END_FORM_HIDDEN###
 
###FORM_SUBMIT###
<div id="###OUTPUT_FIELD_ID###" class="###OUTPUT_EXTRA_CSS###">
	<table summary="" cellpadding="0" cellspacing="0" border="0">
			<tr><td style="width:200px;"><label class="tx_mailform_label_file tx_mailform_label_global" for="###OUTPUT_INPUT_ID###">###OUTPUT_LABEL###</label></td>
			<td>###OUTPUT_FORMELEMENT###</td>
		</tr>
	</table>
</div>
###END_FORM_SUBMIT###
 
###FORM_SUBMITEXTENDED###
<div id="###OUTPUT_FIELD_ID###" class="###OUTPUT_EXTRA_CSS###">
	<table summary="" cellpadding="0" cellspacing="0" border="0">
		<tr>
			<td style="width:200px;"><label class="tx_mailform_label_file tx_mailform_label_global" for="###OUTPUT_INPUT_ID###">###OUTPUT_LABEL###</label></td>
			<td>###OUTPUT_FORMELEMENT###</td>
		</tr>
	</table>
</div>
###END_FORM_SUBMITEXTENDED###
 
###FORM_FILE###
<div id="###OUTPUT_FIELD_ID###" class="###OUTPUT_EXTRA_CSS###">
	<table summary="" cellpadding="0" cellspacing="0" border="0">
			<tr><td style="width:200px;"><label class="tx_mailform_label_file tx_mailform_label_global" for="###OUTPUT_INPUT_ID###">###OUTPUT_LABEL###</label></td>
			<td>###OUTPUT_FORMELEMENT###</td>
			<td>###OUTPUT_ICON###</td>
			<td>###OUTPUT_ERR_MSG###</td>
		</tr>
	</table>
</div>
###END_FORM_FILE###
 
###FORM_CAPTCHA###
<div id="###OUTPUT_FIELD_ID###" class="###OUTPUT_EXTRA_CSS###">
  <label class="tx_mailform_label_captcha tx_mailform_label_global" for="###OUTPUT_INPUT_ID###">###OUTPUT_LABEL###</label>
  <table summary="" cellpadding="0" cellspacing="0" border="0">
		<tr>
			<td>###OUTPUT_CAPTCHA_IMAGE###</td><td>###OUTPUT_ICON###</td>
			<td>###OUTPUT_ERR_MSG###</td>
			<td>###OUTPUT_CAPTCHA_RELOAD###</td>
		</tr>
		<tr>
		  <td>###OUTPUT_FORMELEMENT###</td><td colspan="3">###OUTPUT_CAPTCHA_NOTICE###</td>
		</tr>
	</table>
</div>
###END_FORM_CAPTCHA###
 
###FORM_CONTELEMENT###
<div id="###OUTPUT_FIELD_ID###" class="###OUTPUT_EXTRA_CSS###">
  <table summary="" cellpadding="0" cellspacing="0" border="0">
		<tr>
		<td style="width:200px;"><label class="tx_mailform_label_text tx_mailform_label_global" for="###OUTPUT_INPUT_ID###">###OUTPUT_LABEL###</label></td>
		<td>###OUTPUT_FORMELEMENT###</td>
	</table>
</div>
###END_FORM_CONTELEMENT###
 
###LAYOUT_DEFAULT###
<div id="###OUTPUT_FIELD_ID###" class="###OUTPUT_EXTRA_CSS###">
  <label class="tx_mailform_label_layout_default tx_mailform_label_global" for="###OUTPUT_INPUT_ID###">###OUTPUT_LABEL###</label>
  <table summary="" cellpadding="0" cellspacing="0" border="0">
		<tr><td>###OUTPUT_FORMELEMENT###</td><td>###OUTPUT_ICON###</td></tr>
	</table>
</div>
###END_LAYOUT_DEFAULT###
 
###LAYOUT_SEPARATOR###
<div id="###OUTPUT_FIELD_ID###" class="###OUTPUT_EXTRA_CSS###">
###OUTPUT_FORMELEMENT###
</div>
###END_LAYOUT_SEPARATOR###
 
###LAYOUT_TITLE###
<div id="###OUTPUT_FIELD_ID###" class="###OUTPUT_EXTRA_CSS###">
	<div class="tx_mailform_title">###OUTPUT_FORMELEMENT###</div>
</div>
###END_LAYOUT_TITLE###
 
###LAYOUT_HTMLELEMENT###
<div id="###OUTPUT_FIELD_ID###" class="###OUTPUT_EXTRA_CSS###">
###OUTPUT_FORMELEMENT###
</div>
###END_LAYOUT_HTMLELEMENT###
 
###LAYOUT_ERROR###
<div id="###OUTPUT_FIELD_ID###" class="###OUTPUT_EXTRA_CSS###">
<div style="color:#F00; font-weight: bold;">###OUTPUT_LABEL###</div>
###SUBEL_ERRORLIST###
<li>###OUTPUT_FIELDERRORIMG### ###OUTPUT_FIELDLABEL###: ###OUTPUT_FIELDERRORMSG###</li>
###END_SUBEL_ERRORLIST###
</div>
###END_LAYOUT_ERROR###

Variablen

Jede Variable wird mit ###OUTPUT_[variablenname]### im Template definiert.

  • FORMELEMENT: Das Formelement repräsentiert jeweils den Bereich wo das eigentliche Eingabefeld eingesetzt wird.
  • LABEL: Das Label repräsentiert den Feldnamen welcher im Frontend angezeigt wird.
  • ICON: Das Icon repräsentiert den Bereich wo ein Warnbild ausgegeben wird wenn z.B. das Feld eine nicht gegebene Eingabe benötigt oder die Eingabe falsch ist.
  • ERR_MSG: Die ERR_MSG repräsentiert den Bereich wo, falls vom Typ unterstützt, eine Nachricht geschrieben wird, wenn der Benutzer eine fehlerhafte Eingabe getätigt hat.
  • FIELD_ID: Die FIELD_ID wird durch eine einzigartig vorhandene ID des Felds im aktuellen Inhaltselement ersetzt.
  • EXTRA_CSS: CSS Klasse
  • INPUT_ID: ID
  • DESCRIPTION: Description repräsentiert eine zusätzliche Feldbeschreibung, falls es vom Typ unterstützt wird (Wird zur Zeit nur von Textfeld mit Beschreibung (input text) siehe 4.3.2 unterstützt).
  • FIELDLABEL: Als Untervariable in einem SubElement verwendet; Wird nur in spezifischen Feldtypen verwendet z.B. ERROR
  • FIELDERRORMSG: Als Untervariable in einem SubElement verwendet; Wird nur in spezifischen Feldtypen verwendet. z.B. ERROR
  • FIELDERRORIMG: Als Untervariable in einem SubElement verwendet; Wird nur in spezifischen Feldtypen verwendet. z.B. ERROR

Stilles Parsen

Fehler werden generell nicht gesucht bzw. geprüft. Falls ein unbekannter Typ im Template auftritt, ist dies lediglich Ballast, welcher die Parse-Zeit des Templates unnötig erhöht.

Unvollständige Variablen im Template werden als Inhalt des auszugebenden Templates angeschaut und im Frontend ausgegeben.

Fehlerbeseitigung

Falls im TS-Constant Editor der Pfad eines Templates nicht richtig gesetzt wurde, kann im Frontend ein Fehler auftauchen:

Dies kann behoben werden, indem man entweder spezifisch in jedem mailform-Content-Element einen spezifischen Pfad angibt oder auch über den TS-Constant Editor. Im TS-Constant Editor sind diverse Konstanten anpassbar. Diese Konstanten werden folglich über alle Elemente tiefer im Seitenbaum vererbt und können entsprechend auf jedes Content-Element angewendet werden. Im Flexform eines jeden Content-Elements kann dann jeweils diese Konstante überschrieben werden. Somit ist sowohl die Vererbung von Konstanten als auch spezifische Definition ermöglicht.

(a) Mail CSS File: Ermöglicht die Pfad-Angabe für das CSS der gesendeten E-Mails (b) Ermöglicht die Angabe des Frontend-Templates.Wie die Template-Syntax lautet, ist oberhalb beschrieben.(c) Angabe des CSS welches im Frontend eingebunden wird. Das CSS ist im Code dokumentiert und demzufolge keine weitere Ausführung mehr nötig.

Spezifische Angabe der Templates und CSS im Flexform eines ‚mailform‘-Content-Elements. Hier ist jedoch keine Spezifische Angabe des Frontend-CSS möglich. Da das Frontend-CSS direkt über Typo3 eingebunden wird ist es technisch schwer realisierbar das CSS über Flexform ansteuerbar zu machen.

(a) Angabe von Pfaden für mailform_fields.tmpl oder mailform_mail.css (b) Bei Aktivierung wird das in der Extension eingebundene Standard-Template erlaubt, jedoch nicht zwingend verwendet. Standardmässig deaktiviert.

(a) Angabe von Pfaden für mailform_fields.tmpl oder mailform_mail.css (b) Bei Aktivierung wird das in der Extension eingebundene Standard-Template erlaubt, jedoch nicht zwingend verwendet. Standardmässig deaktiviert.