RSS Feed einbinden

Hallo ich habe die Suchfunktion schon benutzt aber habe bei den ersten Seiten nix gefunden was mir weiter Hilft.

Ich will ein RSS Feed machen der sich automatisch aktualisiert sobald ich auf z.B. meiner Newsseite ( index1.php ) was ändere. Wie mache ich das? Gibts da ein Tool oder so?

Mfg

janusra

Das Werkzeug, welches deine Neuigkeiten erzeugt (ein Editor?)
müßte das dann ja gleichzeitig in dem Format tun, in dem die
Neuigkeiten ausgegeben werden und in dem Format von dem
RSS (für welches es ja gleich mehrere Formate gibt).
Wenn es das kann, sollte es kein kein Problem sein, das eine
bei Neuigkeiten einzufügen und das andere in die RSS-Datei.

Wenn beides ein XML-Format ist (XHTML für die Neuigkeiten?),
kann mittels einer XSLT auch von einem in ein anderes Format
konvertiert werden. Bei PHP gibt es dafür auch geeignete
Werkzeuge (Module). Muß man dann eben nur die entsprechende
Transformationsdatei bereitstellen.

Und nun auf deutsch pls^^…

Lies doch nochmal genau durch, was hoffmann verständlich und gut erklärt hat.
Wenn du eine entsprechende Datei schreibst, kannst Du sie via PHP (Modul) entsprechend umwandeln lassen, so dass du gleich beides hast.

[quote=“brauwn”]Lies doch nochmal genau durch, was hoffmann verständlich und gut erklärt hat.
Wenn du eine entsprechende Datei schreibst, kannst Du sie via PHP (Modul) entsprechend umwandeln lassen, so dass du gleich beides hast.[/quote]

Ok verstehe immernoch Bahnhof^^… Mit welchem Module?^^

TODO:

[ul]
[li]Eigne dir Kenntnisse über XML an[/li]
[li]Eigne dir Kenntnisse über RSS an: selfhtml.de/artikel_13_1_rss … tellen.htm[/li]
[li]Erstelle dir einen RSS-Feed[/li][/ul]

Hier gibt es 2 Möglichkeiten: Du erstellst den RSS-Feed händisch und lädst ihn als .rss-Datei hoch, oder du erstellst ihn automatisch mit PHP.

Beispiel:

$rss = new SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"/>');

$channel = $rss->addChild('channel');
$channel->addChild('title', "Der Titel");
$channel->addChild('link', "http://lol.omg/");
$channel->addChild('description', "LOL ROFL OMG");
$channel->addChild('language', "de-de");

$item = $channel->addChild('item');
$item->addChild('title', "Super tolle Neuerug");
$item->addChild('description', "Ey, das ist so super");
$item->addChild('pupDate', date('r', filectime(__FILE__));

header('content-type: application/rss+xml');
echo $rss->asXML();

Also einfach

[code]$rss = new SimpleXMLElement(’<?xml version="1.0" encoding="UTF-8"?>’);

$channel = $rss->addChild(‘channel’);
$channel->addChild(‘title’, “Der Titel”);
$channel->addChild(‘link’, “http://lol.omg/”);
$channel->addChild(‘description’, “LOL ROFL OMG”);
$channel->addChild(‘language’, “de-de”);

$item = $channel->addChild(‘item’);
$item->addChild(‘title’, “Super tolle Neuerug”);
$item->addChild(‘description’, “Ey, das ist so super”);
$item->addChild(‘pupDate’, date(‘r’, filectime(FILE));

header(‘content-type: application/rss+xml’);
echo $rss->asXML();[/code]

In die Stelle wo später des RSS in der php sein soll oder wie?

Ich hab dir eine TODO-Liste mit 3 Elementen gegeben, die ersten beiden hast du einfach ignoriert…

[code]RSS:

<?xml version="1.0" encoding="ISO-8859-1"?>
<title>Titel des Feeds</title>

<link>http://www.mein-beispiel.de/index.html</link>

<description>Kurze Beschreibung des Feeds</description>

<language>de-de</language>

<item>

  <title>Titel des aktuellsten Artikels</title>

  <description>Kurze Zusammenfassung des Artikels</description>

  <!-- Link zum Lesen des Artikels -->

  <link>http://www.mein-beispiel.de/artikel1.html</link>

  <!-- Datum des Erscheines-->

  <pubDate>Mon, 23 Jul 2007 15:21:36 GMT</pubDate>

</item>



<item>

  <title>Titel des zweiten Artikels</title>

  <description>Kurze Zusammenfassung des zweiten Artikels</description>

  <!-- Link zum Lesen des Artikels -->

  <link>http://www.mein-beispiel.de/artikel1.html</link>

  <!-- Datum des Erscheines-->

  <pubDate>Mon, 16 Jul 2007 15:21:36 GMT</pubDate>

</item>
[/code]

[code]XML:

[/code]

[quote]Beispieldaten aufgrund der DTD

XML wird jetzt auch in SELFHTML beschrieben! Nach langer Pause ist eine neue SELFHTML-Version erschienen. Eine der wichtigsten Neuerungen ist der XML-Teil, in dem die neue Definitionssprache für Auszeichnungssprachen behandelt wird. Der Anwender lernt, wie er Regeln definiert, und Beispiele ergänzen die Beschreibungen. 20.10.2001 Ferdinand Schreiberling [/quote]

Glückwunsch, dann weißt du jetzt ja was XML und was RSS, und vor allem was genau der Unterschied ist.
Dann kannst du jetzt ja anfangen zu basteln.

mfg Balmung

Ja aber kapier trotzdem noch nicht wie des sich dann automatisch aktualliesieren soll^^…

Und da kommt PHP zum Einsatz

Also :

  1. Des Rss machen
  2. Hochladen ( FTP )
  3. PHP erstellen mit

[code]$rss = new SimpleXMLElement(’<?xml version="1.0" encoding="UTF-8"?>’);

$channel = $rss->addChild(‘channel’);
$channel->addChild(‘title’, “Der Titel”);
$channel->addChild(‘link’, “http://lol.omg/”);
$channel->addChild(‘description’, “LOL ROFL OMG”);
$channel->addChild(‘language’, “de-de”);

$item = $channel->addChild(‘item’);
$item->addChild(‘title’, “Super tolle Neuerug”);
$item->addChild(‘description’, “Ey, das ist so super”);
$item->addChild(‘pupDate’, date(‘r’, filectime(FILE));

header(‘content-type: application/rss+xml’);
echo $rss->asXML();[/code]

Als Inhalt richtig?

Erscheint das für dich logisch??? :astonished:

Nö desshalb frage ich ja xD…

Wenn wir uns nochmal darauf besinnen, was eigentlich der Sinn
von so einem RSS-Zeug ist, ergibt sich daraus auch gleich die
Frage, wie das jemals sinnvoll automatisch funktionieren kann.

Der Inhalt von dem RSS-Eintrag ist ja eine
Vorschau/Zusammenfassung, die dem interessierten Leser
gesendet werden soll samt einem Verweis auf den Hauptartikel.
In der klassischen RDF-Logik handelt es sich bei dem RSS-Zeug
um eine Metainformation über den Hauptartikel, bezeichnet
vor allem also, was es überhaupt beschreibt (URI zum
Hauptartikel) und worum es im Hauptartikel geht (Titel und
Beschreibung).

Wenn das automatisch ablaufen soll, müßte dein Editor also
mindestens nach URI, Titel, Beschreibung, Autor und Inhalt des
Hauptartikels fragen, die du dann eingeben mußt. Das
potentielle Teil kann dann zum einen den Hauptartikel erstellen
und zum anderen den RSS-Eintrag. Andere Informationen wie
Entstehungsdatum und Dateiformat kann der Editor dann
gegebenenfalls selbst bestimmen (besser aber, man gibt das auch
explizit an, für den Fall, daß die Angaben von dem abweichen,
was der Editor selbst bestimmen oder raten kann).

Hast du also kein Fertigskript für diesen Editor, hast du da eine
ganze Menge zu basteln. Die diversen RSS-Formate oder auch
Atom sind ja recht einfache Formate, kann man notfalls also
auch recht einfach selbst in einem PHP-Skript basteln lassen,
ohne ein besonders Modul zu benutzen, das wird erst hilfreich,
wenn man etwas bereits in einem Format hat, aber in ein anderes
konvertieren will, wenn die Neuigkeitsseite also all diese
Information hat und man sie daraus (automatisch) extrahieren
kann. Das bedingt dann bei der Neuigkeitsseite eine bestimmte
Struktur, sinnvoll etwa XHTML+RDFa, wo man anhand der
RDFa-Angaben die Informationen extrahieren lassen kann. Ist
eben nur die Frage, ob die Neuigkeitsseite all das braucht, was
man extrahieren möchte, etwa die Beschreibung, wenn sie den
ganzen Artikel enthält.