|
Jutta will gerne ihre "Aktuelle Nachrichten" Seite mit dem Python Desktop Server pflegen. Und zwar soll diese Seite aus einer eigenen Weblog-Kategorie erstellt werden, so das sie einfach ihre normalen Fotonachrichten mitnutzen kann.
Das wollte ich mal so nebenbei machen, habe dabei aber festgestellt, das es so ganz fürchterlich einfach dann doch nicht ist. Daher hier mal eine Dokumentation darüber, es könnte ja auch für andere Zwecke interessant sein. Was hier also gezeigt wird ist folgendes:
Los gehts, fangen wir erstmal mit den Makros an. Es werden folgende Makros verwendet:
Das erste Makro, Liefert ein Datum und eine Uhrzeit im Standardformat, wird nur dazu benutzt das Datum eines Eintrags in einer mehr üblichen Form darzustellen (die normale Darstellung im Python Desktop Server ist ja JJJJ-MM-TT). Das zweite Makro, beseitigt allen HTML-Code für die Contax DTD, setzt ein paar HTML-Tags in XML-Tags um. Und zwar derzeit nur A, IMG und P Tags. Diese werden in ULINK, IMAGE und PARA Tags umgesetzt. Das dritte Makro, aktuelles.xml per FTP speichern , schlussendlich speichert den Text der Seite (und zwar nur den inneren, den XML-Teil) per FTP auf westfalen.de ab. Das Passwort wird dazu aus dem Passwort-Tool vom Python Desktop Server geholt. Dazu muss es in den Einstellungen angelegt werden. ugoggle@muenster ist dabei der Passwortname. Der Source für den eigentlichen Text folgt hier, im Prinzip ist es einfach der XML-Source mit Platzhalter und Makrocode drin: <?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet href="http://www.contax-users.de/xml/contaxusers.xsl" type="text/xsl"?> <?cocoon-process type="xslt"?> <!DOCTYPE page SYSTEM "http://www.contax-users.de/xml/page.dtd"> <page url="http://www.contax-users.de/aktuelles.xml"> <keywords> <keyword>Contax</keyword> <keyword>Users</keyword> <keyword>Fotografie</keyword> </keywords> <title>Aktuelle Nachrichten</title> <preface> <para> </para> </preface> <sect1> <title>Aktuelle Nachrichten</title> <preface> <para> Diese Seite liefert aktuelle Nachrichten rund um die Fotografie. </para> </preface> <toc>Inhalt</toc> #for $item in $weblog.getRecentPosts(category='pydsde') <sect2 name="$item.id"> <title>$item.title</title> <para> $macros.stripHTMLForContax('Meldung vom %s: %s' % ($macros.TodayGerman($item.pubtime), $item.rendered)) </para> </sect2> #end for </sect1> </page> Dieser Text wird am besten mit der Kennzeichnung Entwurf angelegt, damit er nicht als umgesetzter HTML-Text hochgeladen wird - er ist ja in der umgesetzten Version sozusagen Schrott, da er ja XML-Code enthält! Ausserdem muss bei diesem Text natürlich das Format auf HTML gestellt werden. Und schlussendlich muss das dritte Makro da oben - aktuelles.xml per FTP speichern - als Makro an diesem Text hinterlegt werden. Dadurch wird es automatisch immer dann aufgerufen, wenn die Seite gespeichert wird und sich dabei geändert hat. Als letztes wird in den Einstellungen in der Zeitsteuerung noch eingestellt, das diese Seite zum Beispiel alle 60 Minuten neu erstellt wird. Dabei wird natürlich das ganze Speichern nur gemacht, wenn die Seite auch wirklich geändert wurde! Das wars. Viel Spass damit. letzte Änderung 2003-02-24 01:05:20 |
Dieser Text dokumentiert wie man aus einer Weblog-Kategorie mit ein paar Makros zusammen eine XML-Seite erstellen kann, die dann zum Beispiel mit Cocoon in HTML umgesetzt werden kann. Das ist zum Beispiel für Jutta interessant, um ihre aktuelle Nachrichtenseite für Contax-Users.de zu pflegen.
Wichtige Links zu PyDS:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
© 2003, Georg Bauer