Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
faecher:informatik:oberstufe:datenbanken:projekt:dokuwiki_plugin:microblogging:step03:start [21.06.2021 16:40] – sbel | faecher:informatik:oberstufe:datenbanken:projekt:dokuwiki_plugin:microblogging:step03:start [21.06.2021 18:00] (aktuell) – [Neuer Eintrag] sbel | ||
---|---|---|---|
Zeile 44: | Zeile 44: | ||
==== Methoden der Blogentry-Klasse ==== | ==== Methoden der Blogentry-Klasse ==== | ||
+ | Jetzt müssen wie die '' | ||
+ | <code php> | ||
+ | <?php | ||
+ | |||
+ | interface blogentryInterface | ||
+ | { | ||
+ | // Alle Blogintraege anzeigen | ||
+ | public function show_entries($userid=-1); | ||
+ | |||
+ | // Neuen Blogeintrag hinzufügen | ||
+ | public function insert_entry($userid); | ||
+ | |||
+ | // Fehlaufrufe abfangen | ||
+ | public function __call ($name, $param); | ||
+ | } | ||
+ | |||
+ | ?> | ||
+ | </ | ||
+ | |||
+ | |||
+ | Die Definition der blogentry-Klasse muss nun entsprechend angepasst werden: | ||
+ | |||
+ | <code php> | ||
+ | class blogentry implements blogentryInterface { | ||
+ | ... | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (A2) === | ||
+ | |||
+ | Erstelle die Datei '' | ||
+ | |||
+ | ==== Neuer Eintrag ==== | ||
+ | |||
+ | Um einen neuen Eintrag hinzufügen zu können, benötigen wir ein Formular, das wir z.B. mit den bereits bekannten DokuWiki-Mitteln erzeugen können: | ||
+ | |||
+ | <code php syntax.php> | ||
+ | public function printform() { | ||
+ | |||
+ | // Erzeuge ein neues " | ||
+ | $form = new dokuwiki\Form\Form(); | ||
+ | |||
+ | $form-> | ||
+ | $form-> | ||
+ | $form-> | ||
+ | $form-> | ||
+ | |||
+ | // Generate the HTML-Representation of the form | ||
+ | return $form-> | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Wenn das Formular Daten enthält, kann muss man den Blog Eintrag hinzufügen: | ||
+ | |||
+ | <code php syntax.php> | ||
+ | // Neuer Eintrag! | ||
+ | if (isset ($_POST[" | ||
+ | $blogentry-> | ||
+ | msg(" | ||
+ | } else { | ||
+ | $renderer-> | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | In der Datei '' | ||
+ | |||
+ | <code php blogentry.class.php > | ||
+ | public function insert_entry ($userid, $content) { | ||
+ | print " | ||
+ | |||
+ | $statement = $this-> | ||
+ | $statement-> | ||
+ | |||
+ | } | ||
+ | </ | ||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (A3) === | ||
+ | |||
+ | Füge die Codefragmente in dein Projekt ein, so dass du Blogeinträge anlegen kannst. Teste die Funktionalität. | ||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (A4) === | ||
+ | |||
+ | Ergänze die Dateien '' | ||
+ | |||
+ | Erweitere das Plugin um Optionen, die die Ausgabe steuern: | ||
+ | |||
+ | | ||
+ | |||
+ | soll die Liste für den Benutzer ausgeben, oben das Formular für einen neuen Eintrag. | ||
+ | |||
+ | | ||
+ | |||
+ | soll alle Beiträge ausgeben, ohne Formular und sichtbar auch für nicht angemeldete Benutzer. | ||
+ | |||
+ | |||
+ | Füge die Codefragmente in dein Projekt ein, so dass du Blogeinträge anlegen kannst. | ||
- | Jetzt müssen wie die '' | ||
---- | ---- | ||
[[{}..: | [[{}..: |