Ein RSS Feed in TYPO3 erstellen

ERROR: Content Element with uid "90" and type "menu" has no rendering definition!

Ausgangslage

Wieso ein RSS Feed anbieten?
Folgendes habe ich mir diesbezüglich überlegt.

Ich möchte das Besucher dieser Webseite sich nicht jedes mal durch die ganzen Bereiche klicken müssen um zu sehen was es neues gibt.

Besucher sollen nicht sporadisch auf meine Webseite kommen und schauen was es neues gibt, sondern sie sollen über Neuigkeiten informiert werden können.

Ãœber diese Neuigkeiten will ich nicht per Newsletter informieren, weil ich nicht möchte das man sich dafür anmelden muss. Zudem ist es für mich zu aufwendig jedes mal einen Newsletter erstellen zu müssen um einen neuen Artikel oder Informationen einem Interessenten mitteilen zu können.

Vorbereitung und Analyse

Was ist also ein RSS ( oder Atom ) Feed genau? Wie erstellt man einen solchen Feed? Was ist der Unterschied zwischen RSS und Atom? Was muss man beachten?

Fragen über Fragen, aber alles der Reihe nach!

RSS wie auch Atom sind kurz gesagt ein Internet-Nachrichtenformat welche Artikel in einem XML Format anbieten. Genaueres kann man bei Wikipedia nachlesen.

Um die Frage der Unterscheide zu beantworten gibt es ebenfalls einige Artikel über Google zu finden. Informativ fand ich diesen Artikel auf meiert.com zu RSS 2.0 und Atom 1.0 im Vergleich.

Ebenfalls fand ich bei Google einige Artikel zu: Wie man einen RSS Feed erstellt. Den Artikel bei selfhtml.de fand ich zwar interessant, aber ich will das TYPO3 dies anbietet, ohne die Seite parsen zu müssen.

Auf den Punkt gebracht.

Beides sind XML Dateien welche über diverse Elemente wie Titel, Beschreibung, Inhalt etc. Informationen anbieten.

So weit so Gut! Aber wie machen es andere? Brauchen Sie eine Extension für dies? Sucht man nach rss bei typo3.org, findet man einige Extensions. Meine Erfahrung zeigt jedoch, das die meisten die RSS Funktion von tt_news verwenden und somit News als Inhalt für die RSS Feeds benutzen.

Es gibt viele Tutorials wie man tt_news mit RSS Feeds verwendet. Eines der besseren finde ich die Anleitung von rainer-grundel.de.

Aus meiner Sicht ist es ein Nachteil, wenn jede News auch gleich immer im RSS Feed erscheint. Besser wäre es, wenn man eine News Kategorie einrichtet und nur News aus einer Bestimmten RSS-Kategorie im Feed anzeigt. Somit kann man den Inhalt bestimmen, welcher ausgegeben wird.

Weil ich jedoch tt_news noch nicht verwende, ist dies alles keine aktuelle Lösung für mich.

Anforderungen an den RSS Feed

Viele Anforderungen an den RSS Feed dieser Webseite habe ich nicht. Folgende Anforderungen möchte ich jedoch erfüllen können.

  • Möglichst validen XML Code liefern, damit er mit den meisten Reader ohne Probleme gelesen werden kann.
  • Neuigkeiten und Artikel sollen nur mit Kurzbeschreibung (angeteasert) werden.
  • Benutzer sollen den ganzen Artikel auf der Webseite lesen, so das ich diese auf der Webseite habe und mir die Hits was bringen.

Testen und Ãœberprüfen

  • Eine Seite, bei welcher im TYPO3 Verbergen gesetzt hat darf im RSS nicht erscheinen, auch wenn die Seite im Content Element ausgewählt ist.
  • Wenn im Seitentitel Sonderzeichen wie zum Beispiel & < > eingegeben werden, darf dies nicht zu fehlerhaftem XML führen.
  • Die Ausgabe des RSS Feeds soll beim Test auf FEED Validator bestmöglich valid sein.

Lösungsbeispiel

Als Lösung habe ich eine reine typoscript Version erstellt. Dazu verwende ich ein Menü Content Element (Menü dieser Seiten) von TYPO3, welches ich in einem System Ordner abgelegt habe. In diesem Content Element kann ich nun alle gewünschten Artikel als Seite angeben.

Für den Aufbau wurde zuerst eine RSS Beispiel Datei erstellt (rss.xml) und alle Inhalte welche benötigt werden durch Marker ersetzt. Danach wird per typoscript die XML Datei eingelesen und mit den Daten abgefüllt.

Die einzelnen Einträge sind somit Seiten, welche über einen Titel und eine Inhaltsangabe verfügen. Damit sich das publiziert Datum der Seite nicht ädert, verwende ich bei den Seiteneigenschaften das Feld Letzte Änderung.

 

Sobald ich einen neuen Artikel im RSS Feed anzeigen will, bearbeite ich das Content Element und füge die gewünschte Seite hinzu.

Um einen RSS Feed zu erstellen benötigt man somit eine XML Datei, den typoscript Aufbau und das einbinden des Codes in eine Seite.

Alle unteren Code Beispiele sind im oberen Absatz ebenfalls verlinkt. Die gelb markierten Zeilen müssen entsprechend angepasst werden. Wichtig ist, das die Seiten ID und die Content Element ID richtig angegeben werden!

Das war mein erster Artikel, Feedback ist Willkommen ;-)

Oops, an error occurred! Code: 20200331144812b5ed5ee9Oops, an error occurred! Code: 20200331144812873b7e21Oops, an error occurred! Code: 20200331144812ab5ab63b