vomran.de

vomran.de

Ein RSS-Feed für das Kirby-CMS

Mein Blog läuft mit Kirby, einem CMS, mit dem ich sehr zufrieden bin, das jedoch von Haus aus keinen RSS-Feed mitbringt. Nun gibt es zwar ein Plugin für diesen Zweck, aber irgendwie erscheinen mir diese diversen Dateien umfassenden Erweiterungen immer etwas zu viel des Guten und wecken unschöne Erinnerungen an die vergangene Wordpress-Zeit.

Bei kevquirk habe ich nun gelesen, wie man den Feed mit nur zwei Blöcken Code einbaut:

Die rss.php

Um über alle Blogposts zu laufen und Datum, Titel und Text zusammenzutragen, muss dieser Code als rss.php in den Snippets-Ordner (in der Regel /site/snippets/) gelegt werden. Dabei ist sicherzustellen, dass die beiden date()-Felder in den Zeilen 9 und 22 dem Datums-Feld des Blogpost-Blueprints entsprechen. Bei meinem Theme mit Block-Editor kam dann noch hinzu, dass der Textinhalt des Blogposts auf mehrere Blöcke aufgeteilt ist und nicht in einem Feld steht. Deswegen muss aus

<![CDATA[<?= $item->text()->kt() ?>]]>

Folgendes werden:

<![CDATA[<?= $item->blocks()->toBlocks()->toHtml() ?>]]>

Die config.php

In der config.php unter /site/config/ ist durch diesen Abschnitt eine weitere Route zu ergänzen. Anpassen kann man hier mit den Parametern pattern die URL des Feeds, mit $title und $description seinen Titel sowie die Beschreibung und mit $posts die Anzahl der Blogbeiträge, die der Feed ausgeben soll.

Mir reichen im Feed sechs Artikel und damit es die neusten sechs sind, habe ich noch eine Sortierung ergänzt:

$posts = kirby()->collection('posts')->sortBy('date', 'desc')->limit(6);

Und das war es auch schon. Vielen Dank an Kev für die Tipps zur Anpassung an mein Theme. ❤️

Archiv