[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
REDAXO Forum • RSS Newsfeed [UPDATE] funktioniert jetzt
Seite 1 von 1

RSS Newsfeed [UPDATE] funktioniert jetzt

Verfasst: 13. Jul 2005, 19:13
von blubb
Hi Leute,

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>
2. Newsfeed auf Newsseite einbinden (und xml.gif besorgen und hochladen):

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&auml;&szlig;ig &uuml;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>
3. Modul Newsfeedausgabe (in neuen Artikel, dem das obige Template zugewiesen wird, einbinden) (rex_article.category_id=3 an Eure Newsrubrik-ID anpassen!):

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" :D

Gruß
Thorsten

Verfasst: 13. Jul 2005, 19:24
von Markus.Staab
Hi Thorsten,

Super, dass Du deinen Module mit den anderen Teils..

Vielleicht könnte man ja ein Addon daraus bauen ;)

Gruß,
Markus

Re: RSS Newsfeed [UPDATE] funktioniert jetzt

Verfasst: 28. Jul 2005, 14:33
von Livia
blubb hat geschrieben:1. Template erstellen:
Hab ich erstellt und aktiv geschaltet
blubb hat geschrieben:2. Newsfeed auf Newsseite einbinden (und xml.gif besorgen und hochladen):
Newsseite? Ich hab's in mein HTML Template eingebaut - oder was meinst Du jetzt genau??
blubb hat geschrieben:3. Modul Newsfeedausgabe (in neuen Artikel, dem das obige Template zugewiesen wird, einbinden) (rex_article.category_id=3 an Eure Newsrubrik-ID anpassen!):
Hab ich auch gemacht - hab den Text in den Part Ausgabe des Moduls reinkopiert - ich hoffe, das war richtig... :-?
blubb hat geschrieben:Im IE und Firefox wird das XML-Dokument korrekt angezeigt,
Opera, Firefox und Thunderbird lesen den Feed korrekt ein.

Viel Spass beim "Feeden" :D

Gruß
Thorsten
Bei mir funzt es leider nicht :-( bekomme folgende Fehlermeldung beim Aufrufen meines News Artikels:

Code: Alles auswählen

This page contains the following errors:
error on line 12 at column 18: AttValue: " or ' expected

Re: RSS Newsfeed [UPDATE] funktioniert jetzt

Verfasst: 28. Jul 2005, 16:34
von blubb
Hi Livia,
Livia hat geschrieben:Newsseite? Ich hab's in mein HTML Template eingebaut - oder was meinst Du jetzt genau??
Dann erscheint es bei Dir auf jeder Seite, geht natürlich auch. Mit Newsseite meine ich den Artikel, in dem die Newsübersicht angezeigt wird.

Livia hat geschrieben:Hab ich auch gemacht - hab den Text in den Part Ausgabe des Moduls reinkopiert - ich hoffe, das war richtig... :-?
Jau, in "Ausgabe", denn hier soll ja etwas ausgegeben werden.

Livia hat geschrieben: Bei mir funzt es leider nicht :-( bekomme folgende Fehlermeldung beim Aufrufen meines News Artikels:

Code: Alles auswählen

This page contains the following errors:
error on line 12 at column 18: AttValue: " or ' expected
Mit dem Fehler kann ich so erstmal nix anfangen.

Hast Du denn das "xx" gegen die Artikel-ID Deines Newsfeedartikels ausgetauscht?

Code: Alles auswählen

Der Bezug ist kostenlos: <a
href="index.php?article_id=xx" hreflang="de"><img
src="/files/xml.gif" height="14" width="36" ...
Gruß
Thorsten

Verfasst: 28. Jul 2005, 16:45
von Livia
Yes... die ID hab ich ausgetauscht - da wo es um den Artikel geht und auch da, wo es um die Kategorie geht...

Hab auch alle Leerzeichen am Zeilenende des Codes rausgehaun, da ich damit schon mal derbe Probleme hatte, aber das bringt auch nix...

Sobald ich das Template des Artikels auf das RSS Template ändere, bekomm ich die Fehlermeldung :-(

**** EDIT ****
Kann es sein, dass es damit zusammenhängt, dass ich es in einen Startartikel eingefügt habe? :-?

Wenn ich einen Artikel neu mache, geht es - im Reader kommt zwar noch kein Inhalt, aber immerhin holt er was ab und ich bekomme auch keine Fehlermeldung...

Wie lösche ich denn die Startartikel bzw. wie mach ich zusätzliche Artikel in einer Kategorie sichtbar??

Verfasst: 28. Jul 2005, 17:28
von blubb
Hi Livia,
Livia hat geschrieben:Kann es sein, dass es damit zusammenhängt, dass ich es in einen Startartikel eingefügt habe? :-?
allgemein als Startartikel: hat damit eigentlich nix zu tun, aber wenn es der Startartikel der Rubrik "News" ist, hat das schon etwas damit zu tun: der Newsfeed muß entweder in eine andere Rubrik oder in eine Unterrubrik von "News", sonst taucht der Newsfeed ja auch in der Artikelübersicht (siehe unten!) der Newsrubrik auf.
Livia hat geschrieben:Wie lösche ich denn die Startartikel bzw. wie mach ich zusätzliche Artikel in einer Kategorie sichtbar??
Startartikel löschen geht meines Wissens nicht.

zusätzliche Artikel "sichtbar" machen:

- bei wichtigen und langfristig erscheinenden Artikeln eine Unterkategorie einrichten, dann ist der/die Artikel über Navigation und Sitemap erreichbar

- bei hoher Artikelzahl oder ständig wechselnden Inhalten wie z.B. "News" als Startartikel eine Artikelübersicht mit Hilfe des entsprechenden Moduls erstellen, in der die Einzelartikel anklickbar sind, siehe z.B. mein Posting "Newsliste nach Datum sortiert": http://forum.redaxo.de/viewtopic.php?t=586

Gruß
Thorsten

Verfasst: 28. Jul 2005, 18:06
von Livia
die Newsliste ist ja echt genial :-) Danke :-)

..wie kann ich denn machen, dass im Newsreader nicht nur die Überschrift angezeigt wird? :-?

nachträgliche fragen

Verfasst: 3. Jul 2006, 22:13
von sawro
hi zusammen,

vorher kurz zusammengefasst:

ich möchte ein rss-newsfeed zur verfügung stehen und die inhalte gleichzeitg als kategorie mit artikelliste im startartikel ausgeben.

1.) ich habe mit den oben geposteten quellcode-beispielen ein news-feed zusammengestellt. danke für die fertigen beispiele. leider zeigt die db-abfrage aus dem modul-script keinen inhalt an - genau gesagt: es werden keine <items> dargestellt. fehlermeldungen gibt's keine. liegt das ev. daran, dass die beispiele für R2 sind und sie in redaxo 3.2 nicht funktionieren?

die ausgabe sieht so aus:

Code: Alles auswählen

  <?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>Titel</title>
  <link>http://www.beispiel.de/</link> 
  <description>Beschreibungstext</description> 
  </channel>
  </rdf:RDF>
die category_id hab ich entspr. geändert...
warum findet die abfrage nichts?


2.) daraufhin habe ich mit hilfe des modul-beispiels von oben und einem modul für eine artikelliste folgendes neu zusammen gestellt, was auch funktioniert (Opera liest die News-Feeds ein, alles bestens):

Code: Alles auswählen

<?
$url = "http://";
$host = $_SERVER[SERVER_NAME]; 
$cat = OOCategory::getCategoryById($this->getValue("category_id"));
$article = $cat->getArticles();
if (is_array($article)) {
	foreach ($article as $var) {

	$articleId		= $var->getId();
	$articleName	= $var->getName();
	$articleDescription	= $var->getDescription();
                	
	if ($var->getValue(_startpage) != 1) {
 echo "<item>"; 
 echo "<title>".$articleName."</title>"; 
 echo "<link>".$url.$host."/".rex_getUrl($articleId)."</link>"; 
 echo "<description>".$articleDescription."</description>";
 echo "</item>"; 
		}
	}
}
?>
ich möchte aber die betreffenden artikel auch in der webseite ausgeben und da ruft der startartikel ja das xml-file auf...
wenn ich richtig verstanden habe, was weiter im thread steht, soll man dieses problem mit einer zweiten kategorie lösen, also eine, die versteckt ist und die (news-feed)artikel enthält und eine weitere, in die man die artikelliste aus der versteckten kategorie einliest. das funktioniert auch, nur - "vergißt" der brotkrümel, wo er sich befindet, d. h. er zeigt gar nichts mehr an, wenn man bei den entspr. (news-feed)artikeln angekommen ist....

weiß jemand abhilfe? muss ich das ganz anders anfangen?

lg
sabine

Verfasst: 4. Jul 2006, 08:13
von Thomas.Blum
Hallo Sabine,

schau einmal hier nach. eventuell hilft es dir weiter

http://www.webbude.com/95-0-rss-feed-einbinden.html

vg thomas

Verfasst: 4. Jul 2006, 18:57
von sawro
hi thomas,

danke für die schnelle reaktion. mit deinem script von webbude.com habe ich das gleiche problem mit $path1 = 3, wie es schon einmal hier im forum beschrieben wurde. leider stand nicht da, wie die lösung ausgesehen hat...

ich hab das nicht weiter verfolgt, da ich mein "problem mit der 2. kategorie" auch so in den griff bekommen habe - ohne 2. kategorie. jetzt funktioniert's so, wie ich es haben wollte: 1 kategorie enthält die rss-artikel und einen artikel mit dem xml.template. im startartikel halt die artikelliste.

der fehler war: ich dachte, man könne artikellisten nur über den startartikel erzeugen - mut zur lücke kann ich da nur sagen :D

lg
sabine

Verfasst: 5. Jul 2006, 08:01
von Thomas.Blum
Hej Sabine,
sawro hat geschrieben: der fehler war: ich dachte, man könne artikellisten nur über den startartikel erzeugen - mut zur lücke kann ich da nur sagen :D
das sollte man ruhig des öfteren machen. ein export zur sicherheit und dann einfach mal drauf los testen.

das würde bei manchen sicherlich sogar die ein oder andere frage im forum entfallen.

vg Thomas