hier ein Ansatz für den schon öfters angefragten RSS-Newsfeed, nachdem es im ersten Ansatz mit <rss version="0.91"> nicht richtig geklappt hat, habe ich jetzt mal auf RDF umgestellt, jetzt geht's:
1. Template erstellen:
Code: Alles auswählen
<?php
header('Content-Type: text/xml');
echo '<?xml version="1.0" encoding="ISO-8859-1"?>';
?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://my.netscape.com/rdf/simple/0.9/">
<channel>
<title>xxx</title>
<link>http://www.xxx.com/</link>
<description>xxx</description>
</channel>
<?php
echo $this->getArticle();
?>
</rdf:RDF>
Code: Alles auswählen
<p>Unser <strong><abbr title="Rich Site Summaries" lang="en">RSS</abbr>-<span lang="en">Newsfeed</span></strong> informiert Sie regelmäßig über Neuigkeiten, neue Produkte und Termine. Der Bezug ist kostenlos: <a
href="index.php?article_id=xx" hreflang="de"><img
src="/files/xml.gif" height="14" width="36"
alt="RSS Newsfeed" title="RSS Newsfeed" /></a><br />
Hinweis: Die angegebene <abbr
title="Uniform Resource Locator">URL</abbr> ist nicht zur Anzeige
im <span lang="en">Browser</span> gedacht, sondern zur Benutzung
mit einem RSS-<span lang="en">Reader</span>.</p>
Code: Alles auswählen
<?php
$host = $_SERVER[SERVER_NAME];
$path = $_SERVER[SCRIPT_NAME];
$newurl = "http://www." . $host . $path;
// MySQL austricksen: String wie ein Datum behandeln
$sql = "select *, online_von +0, FROM_DAYS( TO_DAYS( online_von ) ) +0 AS Datum from rex_article where rex_article.category_id=3 and startpage=0 and status=1 order by Datum DESC";
$GC = new sql;
$GC->setQuery($sql);
for ($i=0;$i<$GC->getRows();$i++)
{
$aid = $GC->getValue("rex_article.id");
$jahr = substr($GC->getValue("rex_article.online_von"),0,4);
$monat = substr($GC->getValue("rex_article.online_von"),4,2);
$tag = substr($GC->getValue("rex_article.online_von"),6,2);
$date = "$tag.$monat.$jahr";
$artikelname = $GC->getValue("rex_article.name");
$artikelpath = $newurl . "?article_id=$aid";
echo "<item>\n";
echo "<title>" . $date . " - " . $artikelname . "</title>\n";
echo "<link>" . $artikelpath . "</link>\n";
echo "</item>\n\n";
$GC->next();
}
?>
Im IE und Firefox wird das XML-Dokument korrekt angezeigt,
Opera, Firefox und Thunderbird lesen den Feed korrekt ein.
Viel Spass beim "Feeden"

Gruß
Thorsten