Nun die Platzhalter... es gibt gar keine speziellen Platzhalter(!)... aber eigentlich gibt es sie doch...
Was will uns MarkusR damit sagen?
Der "Trick" ist folgender: Es werden zur Darstellung des Formulars die ganz normalen Text-Platzhalter benutzt, die automatisch umgewandelt werden.
Ein Platzhalter <!-- Text: Nachname; --> mutiert im Hintergrund zu <!-- Form: Nachname; --> und wird plötzlich als Texteingabefeld dargestellt.
Daher dient der Artikel-Teil des Templates gleichzeitig zur Erstellung des Formulars als auch zur Darstellung der Ergebnisse. Man benötigt also nur ein Design!
Damit es aber spannender wird, gibt es ein paar zusätzliche Parameter, die angegeben werden können:
Der Wichtigste:
needed; sorgt für die Prüfung auf Eingaben und Verweigert das Speichern, wenn keine Eingabe erfolgt.
needed=Fehlermeldung; gibt statt des Standardfehlers einen belibigen Text aus.
mailcheck=Meldung; macht dies analog für Mailadressen
title speichert die Eingabe als Artikeltitel. Bei mehreren title-Feldern werden deren Inhalte durch "/" getrennt.
author speichert diese Eingabe als Artikelautor
authoremail speichert diese Eingabe als Autoren-Email
Defaultmäßig werden die Felder als <input type="text"... erzeugt
Durch die Angabe von type= kann zwischen den verschiedenen Formularelementen gewählt werden
type=textarea erzeugt eine textarea
type=hidden erzeugt ein hidden-Feld
type=checkbox erzeugt eine Checkbox
type=radio erzeugt einen Radiobutton (wobei der immer ein paar gleichnamige Kumpels bekommen sollte)
type=select erzugt ein Auswahl-Feld
diese Typen benötigen z.T. weitere Angaben in dieser Form
size= erzeugt eine Size-Angabe in Textfeldern
cols= und rows= machen dies analog für eine Textarea
value= dient der Belegung von Checkboxen und Radiobuttons mit Werten
class= erlaubt die Angabe einer CSS-Klasse bei Text und Textarea
values=Text1,Text2,Text3,... erzeugt die Werte für das Auswahlfeld (Trennung durch Kommata)
Nur der Artikel-Teil des Templates dient der Formularerstellung und Verarbeitung.
Der Index-Teil kann für eine Darstellung aller Einträge benutzt werden (wie das Index-Seiten immer machen), durch einen Link zur Detailseite sieht man wie immer den Artikel-Teil, aber eben ohne Formularfelder.
Der Javascript/PHP-Teil enthält die Darstellung, die via Mail versendet wird.