Das Thema Module:
Ich such' mir was

Wir bauen uns ein Gästebuch

Hier erfahren Sie, wie sich ein einfaches Gästebuch realisieren lässt.

Da Sie mit 2FOLKS vollkommen frei entwickeln können, können Sie für ein Gästebuch natürlich jede kommerzielle oder freie Lösung einbinden. Hier möchte ich Ihnen beispielhaft zeigen, wie Sie mit wenig Code ein Gästebuch erstellen können, dessen Inhalte Sie mit dem Client pflegen können.

Zunächst einmal benötigen wir einen neuen Dokument-Typ. Wir geben ihm den Namen "Gästebuch-Eintrag" und den Call-Namen "gaestebuch_eintrag". Dem Bild rechts können Sie die benötigten Parameter entnehmen. Wir möchten, dass die E-Mail des Eintragenden mit angegeben wird. Sie soll zwar nicht im Web erscheinen, aber wegen den Verpflichtungen gemäß der Veröffentlichng von Inhalten soll der Form halber eine Kontaktmöglichkeit mit eingegeben werden können. Außerdem möchten wir die Möglichkeit nutzen, einen Gästebucheintrag zu kommentieren. Weisen Sie nun diesen Dokument-Typ einem neuen Menü-Item zu.
Für die Umsetzung benötigen wir zwei Module und zwei Menü-Items. Das erste Modul (Call-Name "gaestebuch") zeigt die Liste mit den Gästebucheinträgen an. Da ist an und für sich recht einfach. Es ist nur eine paginierte Liste der Einträge in das Gästebuch. Erstellen Sie neben dem Modul ein entsprechendes Menü-Item, dessen Sortierung auf "Aktualität" eingestellt ist, so dass die letzten Einträge als erstes erscheinen. Dem Menü-Item muss das Modul manuell zugeordnet werden. Die Anzahl der Einträge pro Seite ist als Parameter beim Modul definiert worden (max_documents). Den Code können Sie sich unten downloaden. Den Menü-Item habe ich noch Parameter mitgegeben, damit der Redakteur oberhalb der Liste ein paar Zeilen schreiben kann.
Nun erstellen Sie unterhalb des Menü-Items ein weiteres Menü-Item. Dieses können Sie z.B. "Gästebuch Formular" nennen. Dies Menü-Item soll nicht sichtbar sein. Nicht sichtbar bedeutet in 2FOLKS, dass es in keiner Navigation angezeigt wird. Wenn Sie die URL für das Menü-Item angeben, wird es aber trozdem angezeigt. Das erledigt dann ein Link "Gästebuch-Neueintrag", den Sie auf die Listen-Seite rendern mit der URL des ersten Subitems. So wird das Formular anzeigen ohne hierfür einen sichtbaren Menüpunkt zu erzeugen. Sie könnten auch den gesammten Code in einem Modul bauen, welches unter dem sichtbaren Listen-Menü-Item liegt und dann über URL Parameter oder POST Parameter steuern, ob eine Liste oder das Formular angezeigt wird - ich habe hier diese Weg gewählt, weil ich ihn übersichtlicher finde. Erzeugen Sie ein neues Modul (Call-Name "gaestebuch_neueintrag"). Es muss dynamisch sein und wird dem Formular-Menü-Item manuell zugeordnet. Versorgen Sie das Modul mit einer Parameter Definition, die ein CHAR mit Namen "email" und eines mit Namen "text" enthält. Die E-Mail dient dazu, nach einem Neueintrag die Redaktion zu benachrichtigen, weil neue Einträge erst durch die Redaktion freigeschaltet werden sollen. Den Text nutzen wir, um über dem Formular einen, durch die Redaktion editierbaren Text anzeigen zu können.
Kommen wir nun zum Code des Formular-Moduls, den Sie sich unten downloaden können. Nachdem wir die Parameter des Moduls benutzt haben, die Empfänger E-Mail Adresse zu setzen und einen Text über das Formular zu rendern, fragen wir die POST Variablen ab. Sollte es sich um einen Submit handeln, so werden die Variablen geprüft.

 

Ist alles OK, so wird ein neues Dokument erzeugt. Das XML erhalten Sie am einfachsten, wenn Sie sich manuell einen Gästebucheintrag mit dem Client erzeugen und sich dann den generierten Inhalt aus der Datenbank anschauen. Für die Eintragung in die Datenbank benötigen wir die ID des Dokument-Typs und die ID des Menü-Items, unter welchem die Gästebucheinträge liegen. Beides bekommen wir im Client. Die ID's werden in den entsprechenden Formularen in der Titelzeile angezeigt. Nach dem Eintrag in die Datenbank müssen wird den neuen Datensatz von 2FOLKS noch einmal indexieren lassen. Fertig.

 
Letztes Update: 12.03.2009    |    Powered by 2FOLKS    |    Kontakt    |    Impressum