www.baddy0815.de

... nicht einfach 0815!

Suche





Anybrowser



News / Blog

RSS-Feeds in Websitebaker mit Anzeige des Datums

Nachdem ich hier nun wirklich regelmäßig ein paar News veröffentliche, wollte ich diese Seite auch zusätzlich etwas bekannt machen und hab sie in einige Verzeichnisse eingetragen. Voraussetzung oder zumindestens ein grosser Vorteil ist meist die Eintragung eines RSS-Feeds damit die neuen Beiträge ausgelesen werden können.

Websitebaker bringt im Newsmodul bereits die passende Funktionalität mit, wie es funktioniert ist hier beschrieben. Damit kam ich aber auf ein neues Problem: Die rss.php liefert zwar den Titel und die Kurzbeschreibung, leider aber nicht Datum und Uhrzeit der Veröffentlichung (also das Feld <pubdate>). Diese wird aber meist gern gesehen bzw. bei manchen Verzeichnissen wie z.B. dem Bloggeramt funktioniert das Update ansonsten gar nicht.

Hierzu ist eine kleine Modifikation in der rss.php notwendig, das lässt sich am bequemsten mit dem Addon File Editor bewerkstelligen.

Hier ist dann in Zeile 89 folgendes zu ändern:

Ersetze die Zeile
while($item = $result->fetchRow($result)){ ?>

mit

while($item = $result->fetchRow($result)){
$item_date = date("r",$item['posted_when']);
?>

Und etwas weiter darunter, zwischen title und description wird folgendes eingefügt:

<pubDate><?php echo $item_date; ?></pubDate>

Nun wird das Datum der letzten Bearbeitung angezeigt und damit schon das nächste Problem:
Nimmt man kleine Änderungen an den Beiträgen vor, dann wird das Datum verändert und ältere Beiträge erscheinen als aktuelle.
Ersetzt man im Code das posted_when mit published_when, dann wird zwar auch nach Änderungen das (alte) Veröffentlichungsdatum angezeigt, die Uhrzeit ist aber i.d.R. 0:00 Uhr. Das liegt daran, dass die Angabe des Startdatums in Websitebaker beim Verfassen eines Beitrages immer automatisch auf das aktuelle Datum + 0:00 Uhr gesetzt wird. Trägt man bei der Veröffentlichung dort manuell die tatsächliche Veröffentlichungszeit ein, dann ist das Problem behoben. Letzlich ist das aber auch Geschmackssache!

Nachtrag:

André Herdling hat meine Änderungen zum Anlass genommen und zusammen mit weiteren Modifikationen eine neue rss.php zum Download bereitgestellt. Damit sind dann u.a. alle oben beschriebenen Probleme gelöst.
Auch an dieser Stelle der Hinweis: Die neue rss.php funktioniert nur ab Websitebaker Version 2.7! Es werden Datenbankfelder angesprochen, die in älteren Versionen noch nicht vorhanden sind.


Dieser Artikel wurde am 16/04/2009 von Baddy veröffentlicht. Gefallen Dir die Artikel dieser Seite? Hier gibt es eine Übersicht aller Beiträge (auch als RSS-Feed verfügbar).



Neuen Kommentar hinzufügen
Bisherige Kommentare

Die Sache mit Datum & Uhrzeit Gast am 16/04/2009
Ebenfalls besten Dank für den Tip!
So nach und nach können wir aus der lange verwahrlosten rss.php doch noch einen halbwegs gültigen Feed raus quetschen.
Ich habe Deine Änderungen auch in mein File integriert – mit zwei kleinen weiteren Modifikation:
Damit ich bei Verwendung von "published_when" nicht die Zeit manuell korrigieren muss, generiere ich das aus dem Datum von "posted_when" UND der Zeit von "published_when". Aus 13.4.2009, 18:00 Uhr (posted) und 10.4.2008, 0:00 Uhr (published) wird also 10.4.2008, 18:00 Uhr. Ich denke, das ist eine ganz sinnvolle Lösung. Zudem habe ich die Ausgabe in noch in einen CDATA-Block eingeschlossen.

Außerdem habe ich noch die Sortierung (Zeilen 82 und 84) von "ORDER BY posted_when" auf ""ORDER BY position" geändert. Die Sortierung nach "posted_when" hatte wohl schon mehrfach für eine falsche Reihenfolge im Feed gesorgt (http://forum.websitebaker2.org/index.php/topic,13119.msg79810.html#msg79810).

Dein Einverständnis vorausgesetzt (GPL hin oder her) werde ich die geänderte rss.php in den nächsten Tagen auf meiner Site zum Download bereitstellen. Selbstverständlich unter Nennung Deiner Leistungen ;-)

Beste Grüße
André Herdling

Bloggeramt.deBlogverzeichnisBlogPingR.de - Blog Ping-Dienst, Blogmonitor