Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
outlinetrue

Settings

Area/TypeNameDescriptionDefaultScope
pifafield-css-classes 'half-row,full-row,line-bottom,line-top'SCGU
pifatimestamp'always', 'byform', 'never''always'SCGU

...

Um der erzeugten Mail auch die Formulardaten als CSV-Datei anzuhängen schreibst du dir einen eigenen FormProcessor (z.B. MaildCsvFormProcessor) und kopierst den Code aus dem MailedFormProcessor. Mittels PifaAbstractFormProcessor::getForm() holst du dir das Formular, dessen Daten du wiederum mittels PifaForm::getValues() erhältst. Daraus kannst du dir nun deinen Anhang bauen. Alternativ kannst du dir auch die Methode PifaForm::getCsv() anschauen, vielleicht kannst du ja mit der was anfangen.

Format der XML-Export-Datei

Mit der Version 1.1 des PIFA steht nun das Feature "Im- und Export von Formularen" zur Verfügung. Hier soll das Format der erzeugten XML-Datei erläutert werden um so auch das händische Erzeugen von Formularen mittels XML zu ermöglichen.

PIFA - Struktur der XML-Datei

Jede PIFA-XML-Datei besteht aus genau einem "pifa"-Element mit genau einem "form"-Element. Optional kann auch genau ein "data"-Element enthalten sein. Das "form"-Element samt Nachfahren beschreibt die Struktur des Formulares, wogegen das "data"-Element die erfaßten Formulardaten dokumentiert.

 

Code Block
languagexml
linenumberstrue
<pifa>
	<form>
		<field></field>
		...
	</form>
	<data>
		<row></row>
		...
	</data>
</pifa>

FORM - Struktur des Formulares

Das "form"-Element dient der Definition des Formulares als solches. Diese werden als Attribute gespeichert. Zudem enthält es (optional) "field"-Elemente zur Definition der einzelnen Formularfelder welche weiter unten erläutert werden. Folgende Attribute werden unterstützt:

AttributWerteBeschreibung
nameZeichenketteDer Name des Formulares, so wie es im Backend in der linken Navigation ausgegeben wird.
tableZeichenketteDer Name der Datenbank-Tabelle zur Speicherung der Formulardaten.
methodget | postAnfragemethode beim Absenden des Formulares.
timestamptrue | falseOb beim Speichern von Formulardaten auch ein Zeitstempe erfaßt werden soll. Siehe Setting "pifa/timestamp".

FIELD - Struktur der Formularfelder

 

Code Block
languagexml
linenumberstrue
<form name="contact" table="con_pifa_contact" method="post" timestamp="true">
	<field rank="1" type="select" column="salutation" obligatory="true">
		<label display="true">Anrede</label>
		<error>Bitte wählen Sie die Anrede aus</error>
		<options>
			<option>Bitte wählen</option>
			<option value="Mrs">Frau</option>
		</options>
	</field>
</form>

<field rank="2" type="inputtext" column="first_name" obligatory="true"><label display="true">Vorname</label><error>Bitte geben Sie Ihren Vornamen ein</error></field><field rank="3" type="inputtext" column="last_name" obligatory="true"><label display="true">Nachname</label><error>Bitte geben Sie Ihren Nachnamen ein</error></field><field rank="4" type="inputtext" column="company" obligatory="false"><label display="true">Firma</label></field><field rank="5" type="inputtext" column="street" obligatory="true"><label display="true">Straße</label><error>Bitte geben Sie die Straße ein</error></field><field rank="6" type="inputtext" column="street_number" obligatory="true"><label display="true">Hausnummer</label><error>Bitte geben Sie die Hausnummer ein</error></field><field rank="7" type="inputtext" column="plz" obligatory="true"><label display="true">Postleitzahl</label><error>Bitte geben Sie die Postleitzahl ein</error></field><field rank="8" type="inputtext" column="city" obligatory="true"><label display="true">Ort</label><error>Bitte geben Sie den Ort ein</error></field><field rank="9" type="textarea" column="message" obligatory="true"><label display="true">Ihre Nachricht</label><error>Bitte geben Sie die Nachricht ein</error></field><field rank="10" type="inputtext" column="phone" obligatory="true"><label display="true">Telefon</label><error>Bitte geben Sie die Telefonnummer ein</error></field><field rank="11" type="inputtext" column="email" obligatory="true"><label display="true">E-Mail-Adresse</label><error>Bitte geben Sie die E-Mail Adresse ein</error></field><field rank="12" type="inputcheckbox" column="privacy" obligatory="true"><label display="true">Datenschutzerklärung</label><error>Bitte bestätigen Sie die Datenschutzerklärung</error><classes><class>privacy</class></classes><options><option value="1">Ich aktzeptiere die Datenschutzerklärung</option></options></field><field rank="13" type="buttonsubmit" obligatory="false"><label display="true">Absenden</label><classes><class>button_red</class></classes></field><field rank="14" type="buttonreset" obligatory="false"><label display="false">Zurücksetzen</label><classes><class>button_grey</class></classes></field></form></pifa>