Korrekten RSS-Feed ausgeben mit Blog-Extension T3blog (rss widget)
Die Blog-Extension für Typo3 von snowflake erfüllt seinen Zweck als Blog-System für die meisten Typo3-Websites eigentlich ziemlich gut. Trotz zahlreicher notwendiger Anpassungen und Typoscript-Fummeleien, bekommt man das Blogsystem sogar ziemlich komfortabel in eine bestehende Typo3-Website integriert. In diesem Sinne eine Dankeschön an die Macher von snowflake.
Dennoch gibt es hier und da kleine Problemchen, beispielsweise auch mit dem RSS-Widget. Zwei Punkte fallen sofort auf, sobald einige Beiträge angelgt und kategorisiert sind:
- Die Ausgabe der Beitragsinhalte ist nicht 100% valide und führt bei RSS-Readern zu fehlerhafter oder ausbleibender Darstellung.
- Die Zuordnung eines Beitrags zu seinen Kategorien wird nicht korrekt ausgegeben.
Beides lässt sich leider nicht ohne einen Eingriff in den Code des Widgets beheben. Punkt 1 ist relativ einfach zu beheben mittels der Ausgabe des Inhalts als CDATA-Elemente.
Für Punkt 2 muss die Methode 'getPostCategories' angepasst werden. Die ursprüngliche Methode fragt die zugeordneten Kategorien aus dem Feld 'catname' direkt in der Tabelle der Post-Einträge ab. Leider handelt es sich aber bei den Kategorien und Posts um eine n:m-Beziehung, die über 3 Tabellen abgebildet wird (tx_t3blog_cat, tx_t3blog_post, tx_t3blog_post_cat_mm). Ergo: Man erhält eine falsche Kategorie-Zuordnung im RSS-Feed. Also muss das SQL-Statement entsprechend angepasst werden.
Wer sich die Mühe sparen will, das selber hinzufummeln, der kann sich gerne die korrigierte PHP-Klasse zu diesem Widget hier runterladen. Design Keller übernimmt keinerlei Garantie oder Haftung bei Verwendung dieser Datei, aber in den bisher eingesetzten Typo3-Projekten funktioniert diese Klasse einwandfrei.
Lösung: Die class.rss.php hier runterladen und entsprechende Datei im Verzeichnis '.../typo3conf/ext/t3blog/pi1/widgets/rss/' ersetzen. Ob alles valide ist, lässt sich recht leicht über den W3C-Feed-Validator prüfen. Viel Erfolg und frohes Bloggen!