
RSS Feed in TYPO3 Teil 1 - So verpasse ich keine Blogbeiträge von F7 mehr!
Was ist eigentlich RSS?
Ein RSS-Feed hilft dir dabei, immer über die neuesten Beiträge einer Website auf dem Laufenden zu bleiben und das ganz ohne lästige Werbung oder ein überfülltes E-Mail-Postfach. Vielleicht folgst du schon F7 auf Instagram. Auch wenn wir unsere Blogbeiträge regelmäßig in den Stories teilen, können sie dort leicht zwischen anderen Inhalten untergehen, obwohl unser Blog natürlich zu den wichtigsten gehört. 😉
Um unseren RSS-Feed zu abonnieren, brauchst du lediglich eine RSS-Reader-App, besonders praktisch auf dem Smartphone. Das Dateiformat (XML) ist minimalistisch, ressourcenschonend und äußerst effizient. Mit nur einem Klick im Footer unserer Website erhältst du direkten Zugriff auf die neuesten Blogbeiträge von F7.
Klingt gut, oder?
Meine ersten Schritte – Die Ideefindung
Bevor ich direkt losgelegt habe, musste ich mich erstmal in die Materie einarbeiten. Klar wurde schnell: Ein gutes Konzept ist das A und O, um ein performantes, verständliches und gut lesbares Projekt zu erstellen.
Also: Stift und Papier raus und erstmal brainstormen. Dabei habe ich mir folgende Fragen gestellt:
- Welche Daten brauche ich?
- Woher bekomme ich die Daten?
Inspiration fand ich beispielsweise im RSS-Feed der New York Times und in der offiziellen RSS-Spezifikation.
Der Aufbau eines RSS-Feeds
Ein RSS-Feed enthält einen sogenannten Channel. Dieser enthält wichtige Grundinformationen:
- Titel dieses Channels, bzw. der Website
(bei uns: TYPO3 Agentur F7 | Blog) - Link zur Website
- Beschreibung, die den Inhalt des Feeds erklärt
- Sprache des Feeds
- Cache-Datum, das angibt, wann der Feed zuletzt aktualisiert wurde
Zusätzlich listet der RSS-Feed alle unsere Blogbeiträge als sogenannte Items. Für jedes Item sind folgende Informationen nötig:
- Titel des Blogartikels
- Direktlink zum Artikel
- Beschreibung des Inhalts
- Veröffentlichungsdatum
- Optional: ein Bild
Datenquellen – Welche und woher?
Eine der zentralen Herausforderungen war, die richtigen Daten zu identifizieren und eine Datenbankabfrage zu erstellen. Dafür habe ich mich von bestehenden Lösungen inspirieren lassen. Ein Beispiel ist die TYPO3 News Extension von Georg Ringer. Mithilfe von Google und meiner Recherchearbeit wurde klar, dass die Konfiguration folgendermaßen aussehen muss:
- eine neue PageType-Konfiguration in Typoscript erstellen und in der SiteConfig auf /rss.xml mappen
- Datenbankabfrage aufbauen, um die benötigten Inhalte in der passenden Sprache zu erhalten
- Und dann über ein Fluid Template ausgeben