PageGut, als nächstes kommt die Page an die Reihe. Das Anzeigen von einem Eintrag ist ja schon mal ganz schön, aber schließlich wollen wir ja auch neue Artikel anlegen. Dazu brauchen wir eine create Action in der Root Page. Diese definieren wir jetzt einmal:
So wenn wir jetzt die Url http://localhost/wiki/create aufrufen sollte jetzt in create action im Browser erscheinen. TemplatesDesweitern brauchen wir ein Template, welches bei der create Action angezeigt wird. In WebTek werden s.g. Macros in Templates verwendet. Diese sind für den dynamischen Teil einer HTML Seite verantwortlich. Ein Macro sieht z.b. wie folgt aus:
Dieses Macro rendert beispielsweise den Link auf die aktuelle Page (=Seite). Das
Macro liefert uns die Url auf die aktuelle Seite, und das
Macro macht daraus einen Link. Ok, aber jetzt wollen wir mal das Template anlegen. Dazu erstellen wir eine Datei in /WebTek/app/Wiki/templates/Root namens create.tpl mit folgendem Inhalt:
Was passiert hier? Gut, zuerst steht einmal ein Feld für den Artikel Titel, und dann ein Textfeld für den Text. Darunter sind dann zwei Knöpfe. einmal Abbrechen und daneben Speichern. Damit dieses Template auch angezeigt wird, ändern wir die create action wie folgt:
Dass jetzt in der create Action nichts mehr definiert ist, ist gut so, denn es wird ja auch noch nichts gemacht. Dass das create.tpl angezeigt wird, passiert automatisch, solange in der Action kein response->write (Siehe in der Referenz) gemacht wird.
Was passiert hier: MessagesWenn wir jetzt versuchen einen ungültigen Artikel zu erzeugen, sprich wenn wir ohne etwas auszufüllen auf den Speichern Knopf drücken, dann kommen wir wieder auf die create.tpl Seite, allerdings mit zwei komischen wörtern oben in der Seite.
Diese zwei Wörter sind Schlüssel (=keys) für die Fehlermeldungen. Um hier aussagekräftige Fehlermeldungen anzuzeigen, brauchen wir ein message file. Dazu erstellen wir die Datei /WebTek/app/Wiki/messages/de.wiki.properties, und fügen folgendes ein:
Wenn wir jetzt nochmal das leere Formular abschicken, dann sollte, wenn unsere Browser Sprache auf de (= Deutsch) gesetzt ist, folgendes sichtbar sein:
Messages Dateien müssen übrigens, genauso wie Templates in UTF8 abgespeichert werden! |
|