FORM

Das Objekt FORM bietet eine Möglichkeit, Formulare zu erzeugen.

textareaBeschriftung | [*=erforderlich][Feldname=] textarea[,cols,rows,"wrap=[z.B. "OFF"]"] | [Vorgabewert] | Spezialauswertung, siehe unten
inputBeschriftung | [*=erforderlich][Feldname=] input[,size,max] | [Vorgabewert] | Spezialauswertung
passwordBeschriftung | [*=erforderlich][Feldname=] input[,size,max] | [Vorgabewert]
fileBeschriftung | [*=erforderlich][Feldname (*1)=] file[,size]
checkBeschriftung | [Feldname=] check | [checked=1]
selectBeschriftung | [*=erforderlich][Feldname=] select[,size (int,"auto"), "m"=multiple] | Option[=Wert],...
radioBeschriftung | [*=erforderlich][Feldname=] radio | Option[=Wert], ...
hidden|[Feldname=]hidden | Wert
submitBeschriftung | [Feldname=] submit | Aufschrift
labelBeschriftung | label | Wert
property[Intern, siehe unten]

Vordefinierte Auswahlen im Typ "select" und "radio"

Das ist ein Beispiel, in dem "Braun" die vordefinierte Auswahl einer Auswahlbox ist:

Haarfarbe: | *haarfarbe=select | Blau=blau, Rot=rot, *Braun=braun

Sie können mehrere vordefinierte Auswahlen festlegen, indem Sie einen Stern * vor jeden Eintrag, der vordefiniert sein soll, setzen.

Eigenschaften überschreiben

Folgende untenstehende Eigenschaften können überschrieben werden:

type, locationData, goodMess, badMess, emailMess

Syntax:

| [Eigenschaft] = property | Wert
(*1) Feldname für Uploadfelder

Damit Dateien an die Mails angehängt werden, müssen Sie die folgenden Feldnamen benutzen:
attachment, attachment1, ... , attachment10

Korrekte Antwortadresse

Damit den Mails die Mailadresse der Leute, die die Mails übermitteln, angehängt wird, benutzen Sie bitte den Feldnamen "email", z.B: Email: | *email=input |

Spezialauswertung

Sie können bei den meisten Typen ein "*" vor dem Feldnamen platzieren, um das Feld erforderlich zu machen. Die Überprüfung findet in JavaScript statt; Es wird dieses Formular nur übermitteln, wenn dieses Feld ausgefüllt ist.

Alternativ können für bestimmte Typen (textarea, password, input) den Feldwert mit einem Regulären Ausdruck oder als Email-Adresse überprüfen.
Hierfür wird für diese Typen die Spezialauswertung im 4. Teil der Konfigurationzeile angegeben (siehe Beispiele oben).

Die Spezialauswertungstypen werden von einem Doppelpunkt (:) getrennt.

Der erste Teil definiert das Schlüsselwort der Auswertung. Momentane Möglichkeiten sind "EREG" (für einen Regulären Ausdruck) und "EMAIL" (zur Überprüfung auf eine Email-Adresse).

Falls das EREG-Schlüsselwort angegeben wurde, geben der zweite und dritte Teil Fehlermeldung und Ausdruck an.

Beispiel:

Ihre Adresse: | adresse=textarea,40,10 | | EREG : Sie können nur die Buchstaben A-Z eingeben : ^[a-zA-Z]*$
Ihre Email: | *email=input | | EMAIL

Eigenschaft

Datentyp

Beschreibung

Standard

data

string / stdWrap

Das sind die Daten, die den Formularaufbau angeben. Siehe oben.
"||" kann anstelle von Zeilenumbrüchen verwendet werden.

dataArray

[array von Formularelementen]

Einealternative Möglichkeit, die Formularelemente zu definieren. Anstelledie Syntax mit vertikalen Trennstrichen, die in der .data-Eigenschaftverwendet wird, zu benutzen, können Sie die Elemente auch in regulärenTypoScript Style-Arrays definieren.

.dataArray wird der Eingabe in .data hinzugefügt, falls vorhanden.

Jeder Eintrag im dataArray ist numerisch und hat drei Haupteigenschaften, label, type, value und required. "label" und "value" sind stdWrap-Eigenschaften.

Esgibt eine alternative Eigenschaft zu .value, nämlich .valueArray. Dasist ebenfalls ein Array der gleichen Art mit numerischen Einträgen, derdie Eigenschaften label, value und selected hat. 'label' ist eine stdWrap-Eigenschaft.

Beispiel:

dataArray {
10.label = Name:
10.type = name=input
10.value = [Namen eingeben]
10.required = 1
20.label = Augenfarbe
20.type = augenfarbe=select
20.valueArray {
10.label = Blau
10.value = 1
20.label = Rot
20.value = 2
20.selected = 1
}
40.type = abschicken=submit
40.value = Abschicken
}

Das bedeutet das gleiche wie diese Zeile in der .data-Eigenschaft:

Name: | *name=input | [Namen eingeben]
Augenfarbe: | augenfarbe=select | Blau=1, *Rot=2
| abschicken=submit | Abschicken

Warum es auf diese Art machen? Gute Frage, aber ein Formular auf diese Weisezu erzeugen hat enorme Vorteile, da alle Beschriftungen vom Codegetrennt sind. Zusätzlich ist es viel einfacher, Elemente aus demFormular herauszunehmen oder neue einzufügen.
Nach dem Namen-Feld noch ein Email-Feld einzufügen ginge so:

dataArray {
15.label = Email:
15.type = input
15.value = ihre@email.de
15.specialEval = EMAIL
}

Oder das Formular auf Dänisch zu übersetzen (config.language auf 'dk' setzen):

dataArray {
10.label.lang.dk = Navn:
10.value.lang.dk = [Indtast dit navn]
20.label.lang.dk = Øjenfarve
20.valueArray {
10.label.lang.dk = Blå
20.label.lang.dk = Rød
}
40.value.lang.dk = Send
}

 

radioWrap

stdWrap

Formatiert die Beschriftungen für Radiobuttons.

type

int

Ziel (action="" des Formulars):

Integer: Dies wird als normale Seite in Typo3 betrachtet.
String: Dies wird als normale URL betrachtet (z.B. "formmail.php" oder "fe_tce_db.php")
Leer: Die aktuelle Seite wird ausgewählt.

ANMERKUNG:Wenn type vom Typ Integer oder leer ist, wird das Formular an eineSeite in Typo3 weitergeleitet, und wenn diese Seite einen Wert fürtarget/noCache hat, wird dieser anstelle des Vorgabe-target/noCacheunten verwendet.

ANMERKUNG: Wenn der Weiterleitungs-Wert gesetzt ist, überschreibt das Weiterleitungsziel das durch die action-URL angegebene Ziel.

ANMERKUNG: Könnte durch das Eigenschaftenüberschreibungs-Feature der Formulardaten (siehe oben) überschrieben werden.

target

target

Vorgabe-Ziel des Formulars

method

form-method

Beispiel:
GET

POST

no_cache

string

Standard no_cache-Option

noValueInsert

boolean

Standardmäßigwerden Werte, die an dieselbe Seite (und damit auch an dasselbeFormular) geleitet werden, anstelle irgendwelcher möglicherweiseexistierender Vorgabewerte in das Formular eingesetzt.

Das trifftjedoch NUR zu, wenn "no_cache=1" gesetzt ist! (Eine Seite, die im Cachegespeichert ist, kann natürlich keine benutzerabhänigen Vorgabewertebeinhalten)
Wenn diese Eigenschaft gesetzt ist, wird der Formularinhalt immer der Vorgabeinhalt sein.

compensateFieldWidth

double

Überschreibende Eigenschaft des CONFIG-Wertes gleichen Namens. Siehe "CONFIG"

locationData

boolean / string

Wenndieser Wert wahr ist, wird dem Formular ein verstecktes Feld mit demNamen "locationData" hinzugefügt. Dieses Feld wird einen derartaufgebauten Wert haben:
[Seiten-ID]:[Inhaltstabelle]:[Inhalts-ID]

Wennzum Beispiel ein Formular auf einer Seite mit der UID=100 alsSeiteninhalt aus der Tabelle "tt_content" mit der ID=120 eingefügtwird, wäre der Wert "100:tt_content:120".

Dieser Wert wird zumBeispiel vom Inhaltsobjekt SEARCHRESULT verwendet. Wenn hier der Wert $GLOBALS["HTTP_POST_VARS"]["locationData"] gefunden wird, wird die Suche durchgeführt, als wäre sie auf dieser Seite gestartet worden. Das ist sehr nützlich, wenn Sie eine Suchfunktion auf einer Seite, deren "stype"-Feld auf "L1" gesetzt ist (was bedeutet, dass die Suche von der ersten Ebene der Rootline aus durchgeführt wird), einbinden wollen.

Angenommen, sie wollen die Suche an eine bestimmte Seite wo auch immer übermitteln. Diese Seite wird dann - wegen der locationData - wissen, dass die Suche von einem anderen Ort der Website aus durchgeführt wurde.

Wenn locationData nicht nur wahr ist, sondern auch in HTTP_POST_VARS gesetzt ist, wird für locationData der Inhalt aus $GLOBALS["HTTP_POST_VARS"]["locationData"] einfügt, und nicht die tatsächliche locationData der Seite. Das sollte bei Suchfeldern angewandt werden, da der Anfangspunkt der Suche mit übertragen wird.

ANMERKUNG: Könnte durch das Eigenschaftenüberschreibungs-Feature des Formulars überschrieben werden.

redirect

string / stdWrap

URL, an die weitergeleitet werden soll (erzeugt das versteckte Feld "redirect")

Integer: Wird als Seite in Typo3 angesehen.
String: Wird als normale Seite angesehen.
Leer: Die momentane Seite

ANMERKUNG: Wenn dieser Wert gesetzt ist, wird dadurch das Feld "type" überschrieben.

recipient

(Liste von string/stdWrap)

Email, an die der Formularinhalt geschickt werden soll (erzeugt das versteckte Feld "recipient")

Keine Email

goodMess

string

Nachricht für die Formularauswertung im Falle eines korrekt ausgefüllten Formulars.

ANMERKUNG: Könnte durch das Eigenschaftenüberschreibungs-Feature des Formulars überschrieben werden.

Keine Nachricht

badMess

string

Nachrichtfür die Formularauswertung im Falle eines oder mehrerer nichtausgefüllter Felder. Diese Nachricht wird über der Liste genannterFelder angezeigt.

ANMERKUNG: Könnte durch das Eigenschaftenüberschreibungs-Feature des Formulars überschrieben werden.

Keine Nachricht

emailMess

string

Nachricht, wenn ein Feld, das auf Email-Adressen überprüft werden sollte, keine Emailadresse enthalten hat.

image

Image

Falls dies ein gültiges Bild ist, wird der Abschicken-Button als dieses Bild dargestellt.

ANMERKUNG: CurrentValue wird auf die Button-Beschriftung gesetzt, bevor das Bild erzeugt wird.

layout

string

Dies gibt an, wie die Felder und ihre Beschriftungen zueinander ausgerichtet sind.

Beispiel:
"###FIELD###" wird hier mit den Felddaten und "###LABEL###" mit der Beschriftung ersetzt.

<tr><td>###FIELD###</td><td>###LABEL###</td></tr>

Siekönnen auch den Marker ###COMMENT### benutzen, wo zwar AUCH derBeschriftungs-Wert eingefügt wird, aber mit den .commentWrapstdWrap-Eigenschaften formatiert ist (siehe unten)

fieldWrap

stdWrap

Wrapt die Felder

labelWrap

stdWrap

Wrapt die Beschriftungen

commentWrap

stdWrap

Wrap für Kommentare, FALLS Sie ###COMMENT### benutzen.

REQ

boolean

Gibt an, ob erforderliche Felder kontrolliert und markiert werden sollen.

REQ.fieldWrap

stdWrap

Wrap für die erforderlichen Felder

Wert von .fieldWrap

REQ.labelWrap

stdWrap

Wrap für die Beschriftungen der erforderlichen Felder

Wert von .labelWrap

REQ.layout

string

Das gleiche wie "layout" oben, allerdings nur für die erforderlichen Felder.

Wert von .layout

COMMENT.layout

string

Alternatives Layout für Kommentare

Wert von .layout

CHECK.layout

string

Alternatives Layout für Checkboxen

Wert von .layout

RADIO.layout

string

Alternatives Layout für Radiobuttons

Wert von .layout

LABEL.layout

string

Alternatives Layout für Beschriftungen

Wert von .layout

stdWrap

stdWrap

Wrapt das gesamte Formular (bevor die <FORM>-Tags hinzugefügt werden.

hiddenFields

[Array von cObject]

Wird benutzt, um mit TypoScript versteckte Felder zu erzeugen.

Beispiel:
hiddenFields.pid = TEXT
hiddenFields.pid.value = 2

Das erzeugt ein verstecktes Feld mit dem Namen "pid" und dem Wert "2".

params

<FORM>- Parameter

Zusätzliche Parameter für das Formularelement.

Beispiel:
params = style="width:200px;"
params.textarea = style="width:300px;"
params.check =

Das setzt die Vorgabe auf 200 Pixel Breite, ausgenommen Checkboxen, und setzt Textareas auf 300 Pixel.

wrapFieldName

wrap

Das wrapt die Feldnamen, bevor sie in das Formular eingefügt werden.

Beispiel:
Wenn der Wert tx_myextension[input][ | ] ist, würde aus dem Feldnamen "email" dieser Wert: tx_myextension[input][email]

arrayReturnMode

boolean

Fallsgesetzt, werden die <form>-Tags und die Formularinhalte alsseparate Elemente in einem Array zurückgeliefert, zusammen mit anderenpraktischen Werten. Dieser Modus ist zur Benutzung in Erweiterungengedacht, wo der Array-Zurückgabewert nützlicher sein kann.

accessibility

dboolean

Wenn gesetzt, wird das Formular nach Zugänglichkeitsrichtlinien erzeugt. Das beinhaltet:

- Die Beschriftung wird mit <label for="[Feldname]">...</label> gewrapt.
-Alle Formularelemente haben ein ID-Attribut mit demselben Inhalt wiedas name-Attribut (wenn Sie einzigartige ID-Nummern brauchen, können Sie "wrapFieldName" benutzen, um für alle Feldnamen einen String irgendeiner Art als Präfix einzurichten.