RSS/XML-Newsfeeds erstellen

169 Kommentare | Rubrik: Module

 

XML Newsfeeds wie RSS2 und RDF ermöglichen es den Nutzern aktuellen Nachrichten einer Website zu abonnieren. Ohne die Seite zu besuchen kann den Nutzern aktueller Inhalt geliefert werden, den Sie bei Bedarf auf der Website komplett lesen können.

RSS in Firefox-Adresszeile

RSS in Firefox-Adresszeile

RSS-Anzeige in Firefox

RSS-Anzeige in Firefox

Komfortabel geht die Einrichtung eines XML-Newsfeeds wie RSS2 mit der Typo3 Extension tt_news. Dieses Anleitung setzt daher ein funktionsfähig eingerichtetes tt_news Plugin voraus und erklärt darauf aufbauen wie man schnell verschiedene Feeds einrichten kann.

Constanten-Konfiguration im Template der Rootseite

Im ersten Schritt muss im Template der Rootseite bei "Include static (from extensions)" die statische Vorlage "News-feed (RSS,RDF,ATOM) (tt_news)" hinzugefügt werden. Anschließend werden die Konstanten im Template der Rootseite angepasst. Hier eine Bespielkonfiguration als Ergänzung zur bisherigen tt_news Konfiguration.

#PID mit der Listenanzeige des tt_news Plugins - ggf. schon vorhanden
plugin.tt_news.pid_list = 10
#PID mit der Singleanzeige des tt_news Plugins - ggf. schon vorhanden
plugin.tt_news.singlePid = 11

#Maximale Anzahl der ausgelieferten Artikel im XML
plugin.tt_news.displayXML.xmlLimit = 10
#Aktivierung des Cachings
plugin.tt_news.displayXML.xmlCaching = 1
#Basis-URL für die Verlinkung
plugin.tt_news.displayXML.xmlLink = http://www.meine-domain.de/
#Titel des XML-Feeds
plugin.tt_news.displayXML.xmlTitle = www.meine-domain.de: Mein Thema
#Beschreibung des XML-Feeds
plugin.tt_news.displayXML.xmlDesc = Beschreibung
#Sprache des XML-Feeds
plugin.tt_news.displayXML.xmlLang = de

Setup-Konfiguration im Template der Rootseite

Im Setup werden nun die verschiedenen Typen der XML-Newsfeeds eingerichtet. Als Grundlage dient hier rss2, dessen Konfiguration für die anderen Feeds benutzt wird. Hierfür wird folgendes TS ins Setup eingetragen, wobei die Kommentare entfernt werden können.

RSS2

rss2 = PAGE
rss2 {
  typeNum = 100
  #Leeren von 10
  10 >
  #Befüllen mit tt_news
  10 < plugin.tt_news
  #Leeren von pid_list
  10.pid_list >
  #Wert für pid_list aus den Constanten
  10.pid_list = {$plugin.tt_news.pid_list}
  #Wert für singlepid aus den Constanten
  10.singlePid = {$plugin.tt_news.singlePid}
  10.defaultCode = XML
  #Format festlegen - hier rss2
  10.displayXML.xmlFormat = rss2
  config {
    disableAllHeaderCode = 1
    additionalHeaders = Content-type:text/xml
    no_cache = 1
    xhtml_cleaning = 0
  }
}

Wer nun weitere XML-Newsfeeds in Typo3 einrichten will, kann nun rss2 wieder verwenden und muss nur noch die typeNum und das xmlFormat ändern.

RSS 0.91

rss091 = PAGE
rss091 < rss2
rss091 {
  typeNum = 101
  10.displayXML.xmlFormat = rss091
}

RDF

rdffeed = PAGE
rdffeed < rss2
rdffeed {
  typeNum = 102
  10.displayXML.xmlFormat = rdf
  #ggf. noch ein Feedimage vergeben
  #10.displayXML.xmlIcon = fileadmin/templates/img/rdf.gif
}

Atom1

atom1 = PAGE
atom1 < rss2
atom1 {
  typeNum = 103
  10.displayXML.xmlFormat = atom1
}

Aufrufbar sind die XML-Feeds nun über http://www.meine-domain.de/index.php?type=100 und die anderen vergebenen typeNum.

RSS für bestimmte Newskategorien

Will man kategoriespezifische RSS-Feeds erstellen, kann man mit folgendem Aufruf die RSS Nachrichten mit News aus einer bestimmten Kategorie anzeigen lassen:

http://www.domain.de/index.php?type=100&tx_ttnews[cat]=x

x entspricht hier der Kategorie-Nummer.
Meinen Dank an Tobi, der diese Info als Kommentar gepostet hat.

Archivierte News aus RSS entfernen

Standardmäßig werden alle tt_news Einträge im RSS-Feed dargestellt. Möchte man nun die archivierten News aus dem XML-Feed entfernen hilft folgende TS Ergänzung im obenen gezeigten Beispiel:

rss2 {
...
# archivierte News nicht anzeigen
10.archive = -1
...
}

Der Eintrag entfernt die archivierten News aus dem XML-Feed.

Konfiguration für XML-Feeds über RealURL

Eine schönere URL bekommt man mit RealURL. Hierfür gibts folgende Konfiguration mit der man seine eigene ergänzen kann.

'fileName' => array (
            'defaultToHTMLsuffixOnPrev' => true,
            'index' => array (
                'rss.xml' => array (
                    'keyValues' => array (
                        'type' => '100',
                    ),
                ),
                'rss091.xml' => array (
                    'keyValues' => array (
                        'type' => '101',
                    ),
                ),
                'rdf.xml' => array (
                    'keyValues' => array (
                        'type' => '102',
                    ),
                ),
                'atom.xml' => array (
                    'keyValues' => array (
                        'type' => '103',
                    ),
                ),
            ),
        ),

Sonstiges

Einige Browser (z.B. Firefox) stellen beim surfen in der Adresszeile auch vorhandene RSS-Feeds mit einem Symbol zur einfachen Abbonierung dar. Folgendes TS für das Setup der Rootseite bindet den Link zum RSS-Feed ein (es wird RealURL benutzt):

page.headerData.80 = HTML
page.headerData.80.value = <link rel="alternate" type="application/rss+xml" title="RSS von meine-domain.de" href="http://www.meine-domain.de/rss.xml">

24 Kommentare

Seite 1 von 5 12345 >>

#24 Sascha answer
schrieb am 12.04.2011 16:38

Hallo,

 

ich benutze die tt_news-Version 3.01 und habe eine Seite (ID13), auf der meine gesamten news stehen.

Nun bekomme ich zwar hin, dass man mit dem Aufruf von http://www.meine-domain.de/?type=100 den Feed abonieren kann. Ich verstehe jedoch nicht, wie man den Feed auf einer weiteren Seite beim Aufruf anzeigen lassen kann.

Wenn ich z.B. einen Button auf der Webiste mit dem RSS-Link einfüge, wird zwar gefragt, ob man den Link abonieren möchte, danach landet man jedoch im Nirvana.

 

Besten Dank im Voraus

 

Viele Grüße

 

Sascha

#23 Manny answer
schrieb am 13.02.2011 13:50

Vielen Dank für die Infos und die Mühe! Hat alles bestens funktioniert und läuft super! :-)

#22 Tim answer
schrieb am 24.01.2011 11:57

Um eine bestimmte Kategorie anzuzeigen kann man auch folgende Optionen ins TS übernehmen:

 

rss2 {

...

# Kategorie Modus aktivieren

10.categoryMode = 1

# ID der Kategorie

10.categorySelecti 1

}

 

Auf diese Art hat man schönere realURL's als wenn man die Categorie als get Parameter übergibt.

#21 Beast answer
schrieb am 23.11.2010 09:52

Hat irgendjemand eine idee, wie man News aus verschiedenen Sysfoldern mit verschiedneen SinglePids in ein RSS packen kann?

Mehrere Sysfolder geht mit Komma separierte auflistung. Nur müssen die einzeknen Nachrichten aus den jeweiligen Sysordnern auf eine für die News aus einem bestimmten Sysfolder auch zu einer ganz bestimmten SinglePid führen.

Und wie gesagt, das ganze soll innerhalb eines einzigen RSS-Feeds passieren

#19 Dirk answer
schrieb am 29.04.2010 11:03

Hallo Rainer,

 

ich habe die RSS-Feeds nach deiner Anleitung erstellt, was bei mir auf dem PC alles super funktioniert. Nun habe ich jedoch von einem Mitglied erfahren, dass er mit dem Programm Mail von Apple die Feeds nicht abrufen kann. Es kommt immer die Meldung, dass der Server nicht gefunden werden kann. In Safari funktioniert es bei ihm einwandfrei; ich habe mit Outlook, IE 8 und FF getestet - geht auch alles wunderbar.

 

Hast du eine Idee, woran das liegen könnte (die Feeds von Kicker.de kann er z.B. abrufen).

 

Falls du mal selbst testen möchtest: www.supporters-karlsruhe.de ist die Seite.

 

Vielen Dank und viele Grüße,

 

Dirk

Einen Kommentar schreiben

Email wird nicht veröffentlicht.


Aktuelles aus Typo3

Bookmark setzen

bookmark in your browserbookmark at mister wongpublish in twitterbookmark at del.icio.usbookmark at digg.combookmark at furl.netbookmark at linksilo.debookmark at reddit.combookmark at spurl.netbookmark at technorati.combookmark at google.combookmark at yahoo.combookmark at facebook.combookmark at stumbleupon.combookmark at propeller.combookmark at newsvine.combookmark at jumptags.com