Open Source im professionellen Einsatz
Linux-Magazin 07/2009
379

Strukturierte Eingabe

Sobald das Formular abgespeichert ist, erscheint die Eingabeseite für dieses Formular, im vorliegenden Beispiel also »http://example.org/index.php/Formular:Person«. Wie in einem Wiki üblich, ist zunächst der Name der Seite anzugeben, die neu erzeugt werden soll. Erst danach lassen sich die Daten eingeben. Abbildung 4 zeigt, wie das aussieht. Erwischt man dabei den Namen einer bereits existierenden Seite, so gibt es zwei Möglichkeiten: Entweder benutzt die Zielseite bereits Daten im richtigen Format, dann werden sie zum Editieren angeboten. Oder, falls dies nicht der Fall ist, das Bearbeitungsformular erscheint mit einem Warnhinweis. Der ursprüngliche Seiteninhalt ist dann in das Feld »Freitext« verbannt.

Abbildung 4: Charles Babbage im neu definierten semantischen Formular für Personen.

Für viele Anwendungsfälle sind zwei Schritte genau einer zu viel. Gerade wenn sich die Daten später hauptsächlich über Abfragen oder dynamische Kategorien präsentieren sollen, ist eine automatische Erzeugung der Seitentitel angenehmer. Um dies einzurichten, muss der Admin allerdings in den Code des Formulars eingreifen und festlegen, wie aus den eingegebenen Daten automatisch der Seitentitel entsteht. Zuständig ist die »info«-Zeile, Listing 5 verwendet dafür das Feld »nachname«.

Listing 5: Formular mit
automatischem Seitentitel

01 {{{info|page name=<Person[nachname]>-<unique number;start=1>}}}
02 {{{for template|TestPerson}}}
03 {| class="formtable"
04 ! Vorname:
05 | {{{field|vorname}}}
06 |-
07 ! Nachname:
08 | {{{field|nachname|mandatory}}}
09 |-
10 ! Geburtsdatum:
11 | {{{field|geburtsdatum|input type=text}}}
12 |-
13 ! Geburtsort:
14 | {{{field|geburtsort}}}
15 |}
16 {{{end template}}}

Titel vom Fließband

Da viele Menschen den gleichen Nachnamen tragen, wird der Seitentitel mit »<unique number;start=1>« um eine für diesen Namespace hochgezählte Zahl ergänzt. Das garantiert, dass in jedem Fall einzigartige Titel entstehen. Wenn also jemand in die Beispielmaske zuerst Immanuel Kant und dann Erwin Kant eingibt, bekommt der erste als Titel »Kant-1« und der zweite »Kant-2«. Ohne die Angabe »start=1« hieße die erste Seite »Kant-« und die zweite »Kant-2«, was selbstverständlich unschön wäre.

In Listing 5 ist außerdem noch ein Workaround für das oben erwähnte Datumsproblem untergebracht. »input type=text« erzeugt ein Text-Eingabefeld statt eines Datum-Eingabefelds, das ansonsten automatisch aufgrund der Attributdefinition erscheinen würde.

Als letzter Baustein fehlt noch der Link, der direkt auf die leere Eingabemaske verweist: »http://example.org/index.php/Spezial:AddData/Person«.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 6 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

comments powered by Disqus

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.