Tutorial - RSS-Feeds: Unterschied zwischen den Versionen

Aus DynPG-Wiki
Wechseln zu: Navigation, Suche
 
K (require hinzugefügt)
Zeile 10: Zeile 10:
 
<code>[php,n]
 
<code>[php,n]
 
<?php
 
<?php
 +
    require('../dynpg/getcontent.php');
 +
    $DynPG->SetParam_PathToRoot('../dynpg/');
 +
 
     $DynPG->sendHTTPHeader('iso-8859-1', 'text/xml');
 
     $DynPG->sendHTTPHeader('iso-8859-1', 'text/xml');
  

Version vom 8. Juli 2010, 10:58 Uhr

Einleitung

Ein RSS-Feed ist, ähnlich wie ein Nachrichten-Ticker, ein Kanal auf dem üblicherweise die neuesten Nachrichten einer Webseite oder z.B. auch neue Blog-Einträge sofort nach der Veröffentlichung erscheinen. RSS-Feeds können an vielen Orten eingebunden und von anderen Leuten abonniert werden und sind daher ideal geeignet um Neuigkeiten schnell und einfach zu verbreiten. Mit DynPG können Sie einen RSS-Feed im Handumdrehen erstellen, denn alles was Sie hierfür benötigen ist ein einziges weiteres Snippet.

Erstellen des RSS-Feeds

Für die Erstellung eines RSS-Feeds nutzen wir ein weiteres mal die Template-Engine von DynPG. Mit einem speziellen Template erzeugen wir den Nachrichtenkanal und überlassen DynPG dann das Einfügen aller Nachrichten-Artikel. Dazu erzeugen wir eine Seite, welche nur das Snippet für den RSS-Feed enthält. Auf diesen Feed verweisen wir dann später mit einem Link, den wir auf der eigentlichen Webseite platzieren. Das Snippet sieht erst einmal aus wie folgt:


rss_feed.php

<?php
    require('../dynpg/getcontent.php');
    $DynPG->SetParam_PathToRoot('../dynpg/');
 
    $DynPG->sendHTTPHeader('iso-8859-1', 'text/xml');
 
    $DynPG->setupTemplate('rss');
    $DynPG->SetParam_AA_Order( Array( 'DATE_FROM' , 'TIME_FROM' , 'DATE_TO' , 'TIME_TO' , 'CREATEDATE' ) );
    $DynPG->SetParam_AA_Sort( Array( 'DESC', 'DESC', 'DESC', 'DESC' , 'DESC' ) );
    $DynPG->SetParam_AA_Anytime(true, true);
    $DynPG->SetParam_AA_Groups( Array($newsGroupID) );
    $DynPG->SetParam_AA_ForceNav(false);
    $DynPG->SetParam_AA_fullLoadText(true);
    $DynPG->SetParam_AA_CategoryNavigation(false);
    $DynPG->SetParam_AA_Maxview(999);
    $DynPG->Write_AllArticles();
 
    $DynPG->SetupTemplate('default');
?>


Mit dem verwendeten Template "rss" weisen wir DynPG an, die Artikel in der entsprechenden Formatierung auszugeben, damit sie später durch einen RSS-Reader gelesen werden können. Im Anschluss wird die Sortierung der Artikel festgelegt (hier absteigend nach dem Datum der ersten Veröffentlichung). Danach legen wir die Gruppe fest, die im Feed ausgegeben werden soll. $newsGroupID muss hier durch die ID der Gruppe ersetzt werden, welche die anzuzeigenden Artikel enthält, also z.B. eine Gruppe News mit den neuesten Nachrichten.

Einbindung in die Webseite

Da der RSS-Feed immer eine eigenständige Seite sein sollte, müssen wir das Snippet nicht großartig in die bereits bestehende Webseite einbinden. Wir brauchen dort lediglich einen Link auf den Feed zu platzieren. Nach einem Klick auf diesen Link wird der Besucher dann auf die Seite des Feeds weitergeleitet und kann ihn dann dort abonnieren, sofern er das möchte. Der folgende HTML-Code für den Link genügt also bereits für die Einbindung:


<a href="rss_feed.php">
    <img src="img/rss_logo.gif" alt="RSS-Feed" border="0">
</a>


Bei einem Klick auf den Link wird dann abhängig vom Browser eine vollständige Version des Feeds angezeigt. Andere Feed-Reader können diesen dann auslesen und entsprechend formatiert ausgeben, wobei dann üblicherweise nur der Titel und Lead-Text angezeigt wird. Beispielhaft könnte eine vollständige Ausgabe wie folgt aussehen:


RSS Feed.png