Zum Inhalt springen

Andi Portmann – Interessantes aus dem Alltag, Tipps und Tricks, Anleitungen

Textpattern: Der Weg zum individuellen RSS-Feed.

16. Mai 2008, 1 Kommentar(e)

Textpattern stellt von Haus aus nur wenige Möglichkeiten zur Verfügung, den RSS-Feed seinem Geschmack anzupassen.

Für diesen Blog war es notwendig, Excerpt und Hauptartikel im RSS-Feed anzuzeigen. Leider kann in Textpattern nur eingestellt werden, ob der Excerpt oder der Hauptartikel ausgegeben wird.

Jakob aus dem Textpattern-Forum hat mich auf den Artikel Txp: Creating Custom RSS Feeds von Isaac Bowen aufmerksam gemacht.

Mittels einer Artikelliste ist es auf einfache Art möglich, einen völlig individuellen RSS-Feed zu generieren.

Damit dieser Feed zum Schluss auch validiert, habe ich noch einige Änderungen vorgenommen, unter anderem auch solche, welche nur für uns Europäer notwendig sind.

Vorbereitung

Vorab wird das Plugin Mg_setheader von Mike benötigt. Dieses dient dazu, dass die Seite mit dem richtigen MIME-Type ausgeliefert werden kann.

Seitenvorlage erstellen

Als Erstes muss eine leere Seitenvorlage angelegt werden. In diesem Beispiel heisst sie «myrss». Danach gilt es, eine neue Sektion mit gleichem Namen zu erstellen und dieser die Seite «myrss» als verwendete Seitenvorlage zu zu teilen.

Feed-Struktur festlegen

Nun muss die Seite «myrss» geöffnet werden und mit folgenen Zeilen «gefüttert» werden:

<txp:mg_setheader name="Content-Type" value="application/rss+xml" /><?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/"
 xmlns:content="http://purl.org/rss/1.0/modules/content/">
 <channel>
  <generator>http://textpattern.com/</generator>
  <title><txp:site_name /></title>
  <link><txp:link_to_home /></link>
<atom:link href="" rel="self" type="application/rss+xml" />
  <description></description>
  <pubDate><txp:php>setlocale(LC_ALL, 'en_US.UTF-8'); echo strftime( "%a, %d %b %G %T %z" );</txp:php></pubDate>
  <txp:article_custom allowoverride="0" form="myrss" limit="10" pgonly="0" section="" />
 </channel>
</rss>

Hier gibt es schon die ersten Abweichungen zu der eingangs erwähnten Anleitung: <atom:link href="" rel="self" type="application/rss+xml" /> wurde zusätzlich eingefügt (der Pfad muss natürlich angepasst werden), ebenso gibt es mit <description></description> eine Seitenbeschreibung zum Blog, welche eingesetzt werden muss.

Zum Kernstück meiner Änderungen gehört die Zeile <txp:php>setlocale(LC_ALL, 'en_US.UTF-8'); echo strftime( "%a, %d %b %G %T %z" );</txp:php>. Da die Datumsausgabe als gültiges RFC 1766-Format ausgegeben werden muss, wird der «Local-Name» auf en_US gesetzt.
Um eine nach RFC 822 gültige Zeitzone zu generieren, wird innerhalb der strftime die Ausgabe auf %z geändert.
Zu guter Letzt muss in txp:article_custom unter section="" die gewünschte Sektion angegeben werden, welche im Feed enthalten sein soll.

Feed-Artikel zusammenstellen

Als Letztes wird ein «Baustein» mit dem Typ «article» – hier im Beispiel «myrss» – mit folgendem Inhalt benötigt:

<item>
 <title><txp:title /></title>
 <description>
  <![CDATA[
  <txp:excerpt />
  <txp:body />
  ]]>
 </description>
 <link><txp:permlink /></link>
 <pubDate><txp:posted format="%a, %d %b %G %T %z" /></pubDate>
 <dc:creator><txp:author /></dc:creator>
 <guid><txp:permlink /></guid>
</item>

Dieser Inhalt kann natürlich beliebig angepasst werden und lässt keine Wünsche offen. Kreativität ist angesagt.

Bereit zum Einsatz

Fertig. Der Feed kann nun unter «domain.tld/myrss» ausgetestet werden.

Schlagwörter: , ,

Verwandte Artikel: In Prowl steckt mehr Potenzial als man denkt, wpSEO sucht einen neuen Besitzer , Huch, was ist denn hier los?, Zeit, sich Wordpress genauer anzuschauen, Kommentare nun auch per E-Mail abonnierbar

Zurück zum Seitenanfang
Frau mit Hut-Vielfalt
Mit einer Artikelliste zum individuellen RSS-Feed.

Suche

Gezwitscher

Folge «aportmann» auf Twitter

RSS Abonnemente

Reaktionen

  1. Markus Merz, 6. Juni 2008, 20:03 #

    Gut, dass mal jemand den älteren Tipp übearbeitet und verständlich auf Deutsch aufbereitet hat. Danke dafür und ab zu del.icio.us.

Kommentar schreiben

HTML-Tags werden entfernt. Formatierung bitte mit Textile. *Fett* | _kursiv_ | Link setzen durch "Linktext":http://www.domain.tld.

Zurück zum Seitenanfang

Zurück zum Seitenanfang