Wer bisher noch gezögert hat einen Blog in seine Shopwebsite einzubauen, wird vielleicht durch diese Erweiterung überzeugt. Jeder Blog ermöglicht die einfache Verbreitung des Inhaltes per RSS. Somit ist es ein leichtes seinen eigenen Content auf anderen Seiten einzubinden, oder halt auf der eigenen Domain an einer anderes Stelle. Der Blog dient somit als RSS Erzeuger, alles was man noch braucht ist ein Script zum Einbinden des Feeds. Hier kommt das freie MagpieRSS zum Einsatz. Auf den ersten Blick wirkt das Programm sehr verwirrend, sollte aber mit Hilfe unseres Beispielcodes recht einfach zu integrieren sein. Es gibt zahlreiche Scripts zur Integration von RSS Feeds. Magpie hat den Vorteil, dass es einen Cache benutzt, also nicht bei jedem Aufruf der Seite eine neue RSS Verbindung aufbauen muss. Das erhöht die Geschwindigkeit im Seitenaufbau, gerade wenn die Seite mit dem RSS Feed kurzzeitig nicht verfügbar sein sollte.
Installation von Magpie RSS
Nach dem Download legen wir einfach ein Verzeichnis an. In diesem Beispiel nutzen wir das Unterverzeichnis /magpie/. Dort hinein werden alle Dateien von Magpie hochgeladen. Somit besteht die Installation nur aus dem Hochladen auf den Server.
Abstimmung mit Wordpress als Newslieferant
Wordpress bietet eine Reihe von RSS Feeds an. Man kann sowohl den gesamten Blog als Feed nutzen, also alle geschriebenen Beiträge, oder aber man legt eine Unterkategorie an für News und nutzt nur diese Beiträge als RSS Feed. Genau so wäre es möglich einen Kommentar Feed zu verwenden. In unserem Beispiel nutzen wir den Feed einer Blogkategorie, die wir einfach News nennen. Das hat den Hintergrund, das der Blog auch Artikel enthält, die nicht im Shop als News angezeigt werden sollen. Natürlich können auch andere Blogsysteme als Contentlieferant genutzt werden.
Integration von Magpie auf der Shopseite
Wir integrieren den Magpie Code in der Index.html Datei im Templateverzeichnis. Folgenden Code verwenden wir für unser Newssystem:
{php}
require_once('http://www.domain.com/magpie/rss_fetch.inc');
$url = 'http://www.domain.com/blog/category/News/feed';
$rss = fetch_rss($url);
$num_items = 3;
$items = array_slice($rss->items, 0, $num_items);echo "<p>";
foreach ($items as $item) {
$title = $item[title];
$link = $item[link];
$desc = $item[description];
$datum = substr($item[pubdate], 5, 12);
echo "<p><div style='float:left;'><a xhref=$link>$title</a></div>
<div style='text-align:right;'> $datum</div><div>$desc</div><div><a xhref=$link>Alles Lesen...</a></div>\n";
}{/php}
Logisch, dass man für domain.com sowie den Pfad zum Blog die eigene URL einsetzen muss. Die Angabe definert die Anzahl der News, die auf der Startseite angezeigt werden sollen. In den DIV Tags sollte man entweder die eigenen Klassen aus der CSS Datei einfügen, oder eine einfache Formatierung wählen. Damit die News wirklich nur auf der Startseite angezeigt werden, sollte man das ganze noch in eine IF Abfrage einbauen. Damit sieht der gesamte Code wie folgt aus:
{if ( $smarty.server.REQUEST_URI == "/index.php" || $smarty.server.REQUEST_URI == "/index.php?language=de" || $smarty.server.REQUEST_URI == "/")}
{php}
require_once('http://www.domain.com/magpie/rss_fetch.inc');
$url = 'http://www.domain.com/blog/category/News/feed';
$rss = fetch_rss($url);
$num_items = 3;
$items = array_slice($rss->items, 0, $num_items);echo "<p>";
foreach ($items as $item) {
$title = $item[title];
$link = $item[link];
$desc = $item[description];
$datum = substr($item[pubdate], 5, 12);
echo "<p><div style='float:left;'><a xhref=$link>$title</a></div>
<div style='text-align:right;'> $datum</div><div>$desc</div><div><a xhref=$link>Alles Lesen..</a></div>\n";
}{/php}{/if}
Verwendet man verschiedene Sprachen, sollte man die erste Zeile z.B. um language=en erweitern.
EDIT: Scheinbar liefern Wordpress selber einen unsauberen Feed, der Magpie teilweise in die Knie zwingt. Ein Umweg über Feedburner schafft Abhilfe.


michael
vor 3 Jahre
Danke für den interessanten Artikel.
Bin gerade bei der Auswahl der Blogsoftware und fand die Seite http://opensourcecms.com, über die man die versch. open source Systeme recht gut vergleichen kann. Hab mich für b2evolution entschieden. Funzt das mit magpie?
micha
shoprocker
vor 3 Jahre
Magpie geht mit jedem Blog, weil es eine Grundfuntkion eines Blogs ist einen RSS Feed zu erzeugen.
Auch mit b2evolution
exGS
vor 3 Jahre
super! aber wie bekomme ich das in den contentmanager rein? ich hättes das gerne in der content box.
vielen dank für die schöne lösung soweit!
shoprocker
vor 3 Jahre
diese Lösung ist zum Einbau in der index.html im Template Verzeichnis. Welche Contentbox meinst Du?
exGS
vor 3 Jahre
na in den beiden boxen die regulär über den contentmanager gefüllt werden.
exGS
vor 3 Jahre
ups...
anstatt
{php} und {/php}
Frank
vor 3 Jahre
Hallo, das bekomme ich irgendwie nicht hin. Ich habe das mal genau nach Anweisung eingebaut und erhalte folgenden Fehler:
Warning: main(http://www.....de/xtcshop/rss_fetch.inc) [function.main]: failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden in /homepages/3/.../htdocs/templates_c/%%B0^B0B^B0B0E47B%%main_content.html.php on line 30
Fatal error: main() [function.require]: Failed opening required 'http://www....de/magpie/rss_fetch.inc' (include_path='.:/usr/local/lib/php') in /homepages/3/.../htdocs/templates_c/%%B0^B0B^B0B0E47B%%main_content.html.php on line 30
Kann mir das mal jemand erklären? :-)
shoprocker
vor 3 Jahre
ich glaube die fehlermeldung hatte ich bei unserem testshop auch, muss irgendwas mit den php einstellungen zu tun haben.
Frank
vor 3 Jahre
Läuft das denn jetzt bei dir?
Caos
vor 2 Jahre
Hey das geht super sogar auf Unterseiten der Page oder im Content Manager.
Blog Artikel in XT Commerce einbinden
vor 2 Jahre
[...] Eine sehr nützliche Erweiterung für jeden Online Shop ist es den Besuchern aktuelle News über die Produkte anzubieten. XT Commerce bietet aber von Haus aus keine Möglichkeit dazu an. Auf lopsta.com gibt es eine Anleitung News in den XT:C Shop einzubinden. Eine wirklich sehr gute Idee auch aus Suchmaschinensicht, da dynamische Seiten von Google öfters besucht werden. [...]
Spieleo
vor 2 Jahre
Das ist wirklich eine Super-Sache!
Ich habe das ganze in meinem Shop unter www.spieleo.de realisiert.
Nach dem ersten Einbau scheint alles zu klappen - ich bin mal gespannt, wie die Aktualisierung läuft.
Klaus W.
vor 2 Jahre
Ref: Fatal error: main() [function.require]
Ich hatte diesen Fehler auch bei mir. Gelöst habe ich das Problem duch angeben einer relativen URL und nicht einer absoluten URL:
Anstelle von "http://www….de/magpie/rss_fetch.inc" habe ich "magpie/rss_fetch.inc" verwendet.
Ich denke, dass die Tatsache durch eine Einstellung in PHP verursacht wird, die solche "externen" Verweise unterbindet. Es handelt sich hier zwar nicht um einen echten externen Verweis, aber das Tut bei dem Fheler nichts zur Sache.
Gruß
Klaus
Olli
vor 2 Jahre
Hallo,
den ersten Fehler hatte ich auch. Nachdem ich es mit Wordpress ausprobiert habe ich auch nochmal b2evolution genommen, den Pafd angepasst. Jetzt bekomme ich noch den Fehler
MagpieRSS: Failed to parse RSS file. (not well-formed (invalid token) at line 40, column 794)
Über die FAQ von magpierss habe ich geschaut und den Feed auch auf Validität prüfen lassen. Der ist OK. Vielleicht hat ´ja noch jemand ein Tipp.
danke und gruss
olli
shoprocker
vor 2 Jahre
der wordpress feed ist nicht 1000% valide, jedenfalls denkt magpie das.
der umweg über feedburner sollte helfen, wenn auch nicht der sauberste weg.
Bronco
vor 2 Jahre
Tolles Script und eine gute Anleitung funktioniert alles reibungslos.
Thx
Philip
vor 2 Jahre
Sehr schöne Anleitung für die integration eines Blogs in xt commerce.... noch schöner wäre es natürlich wenn die funktionen: kommentar schreiben, ganzen artikel lesen, kommentare lesen (also im grunde die bekannten und relevanten standartfunktionen eines gewöhnlichen newsscripts) im maincontentbereich des eigentlichen xt commerce shops verfügbar wären und angezeigt werden.
Der jetzige, notwendige Sprung auf die Blogseite um mit den News zu interagieren finde ich nicht sehr galant, der sprung von blog seite auf shop seite ist ganz klar gewollt und gut, aber als shopbesitzer empfinde ich den ungekehrten Fall, also den sprung von shop auf blogseite nicht sehr förderlich fürs geschäft.
Gibt es keine einfache möglichkeit den bisherigen include so zu erweitern, das diese funktionen direkt im xt commerce shop ablaufen können und auf der shopseite selber erreichbar für den kunden sind?!
Vielen Dank für die vielen guten tips und anleitungen auf der seite
mfg philip
ege
vor 2 Jahre
Da ich schon länger nach einer integrierten Lösung suchte und nichts gefunden habe, habe ich mal selbst Hand angelegt: http://www.taschendirekt.de/blog/
Onlineshops - 10 Tipps für eine perfekte Onpage-Optimierung
vor 2 Jahre
[...] Wie bereits unter Punkt 3 genannt, ist es wichtig für relevanten Text im Shop zu sorgen. Vor allem auf der Startseite empfiehlt es sich dynamische Texte einzubinden. Viele Shopsysteme bieten dazu wenig bis keine Möglichkeiten. Bei den meisten kann man nur eine statische Startseite einrichten. Ein Newssystem ist genau das Richtige dafür. Informieren Sie Besucher über Sonderangebote, neu eingestellte Produkte Gewinnspiel etc… Auf der Seite lopsta.com wird beschrieben, wie man Beiträge von einem Blog (RSS Feed) in einen XT:C Shop einbindet. Sumas lieben Seiten mit dynamischen Content. [...]
News vom shopbetreiber-blog.de auch auf Ihrer Seite! - shopb
vor 2 Jahre
[...] Shopsoftware Für Standard-Shopsoftware gibt es Anleitungen zur einfachen Integration, so z.B. hier für xt:commerce oder hier für Oxid eSales. Inhalte werden dann direkt im Shop angezeigt, z.B. in der Seitenleiste oder auch im zentralen Bereich. [...]
Shop-Besucher durch interessante Inhalte binden - Die RSS-Ei
vor 2 Jahre
[...] Shopsoftware Für Standard-Shopsoftware gibt es Anleitungen zur einfachen Integration, so z.B. hier für xt:commerce oder hier für Oxid eSales. Inhalte werden dann direkt im Shop angezeigt, z.B. in der Seitenleiste oder auch im zentralen Bereich. [...]
Xt Commerce-Boxinhalt je nach Seite einblenden | Sylvias Blo
vor 2 Jahre
[...] Heute habe ich den entscheidenden Hinweis gefunden. Schon länger hab ich es gesucht,zwischendurch gar nicht mehr dran gedacht und zufällig vor ein paar Tagen wieder drauf gestoßen: Wie kann man es in xtcommerce anstellen,dass Boxen bzw. deren Inhalt nur auf bestimmten Seiten eingeblendet werden? Da nun meine Kenntnisse in php,Smarty auch nicht gerade riesig sind,muß ich mir alles was ich brauche suchen. Bei diesem Problem allerdings war ich bis heute nicht weiter gekommen. Zwar taucht die Frage des öfteren in diversen xtc Foren auf,aber es gibt nie eine funktionierende Lösung. Nun muß ich ja zugeben,was ich heute gefunden habe,entspricht noch nicht bis ins letzte meinen Vorstellungen,bringt mich dem aber schon ein riesiges Stück näher. Zudem versuche ich gerade das Ursprungsprojekt,was mich auf die Lösung brachte,zu realisieren-nämlich ein eigenes Newssystem in xtc einzubauen und einen xtc eigenen Blog zu betreiben,auf dem man dann z.B. erweiterte Produktinformationen für im Shop angebotenen Produkte anbieten kann. Ich hoffe mal,man kann das Ergebnis dann bald in meinem Shop-Sylvias Lädchen-bewundern. So nun werde ich mal sehen,dass das dann auch bald alles klappt und daher werde ich m [...]
Umbauarbeiten im Shop | Sylvias Blog
vor 2 Jahre
[...] Ja ein paar Tage war hier nix Neues zu finden. Das hat natürlich auch einen Grund.Ich habe einige mehr oder weniger aufwendige Umbau- bzw. Umgestaltungsarbeiten an meinem Xtcommerce-Shop vollzogen,die auch noch nicht völlig beendet sind. Das Layout wurde nochmals verändert,ich habe nun einen eigenen Blog auch für Neuigkeiten aus dem Shop. Eine RSS Funktion wurde implementiert,um zusätzliche Werbemöglichkeiten zu haben. Dazu habe ich die schon auf auf Lopsta gefundene Möglichkeit allerdings so nicht verwendet sondern eine eigene Möglichkeit entwickelt.Bei der Gelegenheit wurde gleich nochmal das Layout angepasst und verbessert.Die bei Itratos.de entwickelte Slideshow für Xtcommerce wurde auf den neuesten Stand gebracht und angepasst.Damit habe ich nun eine nochmals sehr verbesserte Werbemöglichkeit für den Shop. Falls jemand sich schonmal den aktuellen Stand ansehen möchte-immer gern.Falls jemand Vorschläge zur Verbesserung hat:werden dankend angenommen und geprüft.Sylvias Lädchen [...]
Michael
vor 2 Jahre
Hallo, woran kann es liegen, dasman gar nichts angezeigt bekommt?
nutze inzwischen feedburner, aber ohne ergebnis.
danke im voraus
Michael
vor 2 Jahre
ok.. problem gelöst.
Schmidt
vor 2 Jahre
Läute, danke für denn Tipp. Ich werde es demnächst auch probieren.
Frank
vor 2 Jahre
Ich habe das bei mir auch versucht ( www.toys4you.eu ), aber ich bekomme immer irgendwelche Fehlermeldungen z.b
Catchable fatal error: Object of class Smarty could not be converted to string in /web/index.php on line 82
Wenn ich den code in die index.html einbaue, schaut es noch viel schlimmer aus.
Wie bekomme ich eigentlich das RSS in Wordpress.
Nicolas
vor 2 Jahre
Danke für die Beschreibung. Das werde ich glatt einmal ausprobieren.
Grüße, Nicolas
blinkyth
vor 2 Jahre
hallöchen
was muss ich noch außer magpie in xtc einbinden um news quasi in der content seitre stehen zu haben? bin darin nochneuling.
es soll ja dafür unter anderem gedacht sein den shop noch suma freundlicher zu machen
Patrick
vor 2 Jahre
Hallo,
Ich habe alles Installiert.Habe den folgenden Code in der Index meines Tempaltes.
{php}
require_once('magpie/rss_fetch.inc');
$url = 'http://www.ribble-mobile.info/wordpress/';
$rss = fetch_rss($url);
$num_items = 3;
$items = array_slice($rss->items, 2, $num_items);echo "";
foreach ($items as $item) {
$title = $item[title];
$link = $item[link];
$desc = $item[description];
$datum = substr($item[pubdate], 5, 12);
echo "$title
$datum$descAlles Lesen..\n";
}{/php}
Es wird aber auf der Startseite absolut nichts angezeigt ?
Hat einer ne Ahnung woran es liegt ?
Magento eCommerce Blog » Blog Archive » Wordpress Feed als
vor 2 Jahre
[...] Ich hatte vor einiger Zeit mal ein Wordpress Plugin getestet, das den Feed als Image anzeigt. Damals war das Pugin noch Buggy und unbrauchbar. Das hat sich verbessert und es geht jetzt Problemlos. Das Plugin erzeug ein png, jpg, gif oder animated gif Bild aus dem Blogfeed. Dieses Bild kann man dann in Foren und anderen Seiten einblenden kann. Auch sehr gut geeignet um seine Blogartikel ohne soviel technischen Auswand in dem Shop einzubinden wie in dieser Lösung von mir. Bei dem Plugin vom Smarty Blog hat man alle Einstellmöglichkeiten wie Farben, Schriftarten, Imagegröße, Rahmen, etc. Zusätzlich können verschiedene Profile eingestellt werden, die jeweils verschiedene Imagedateien erzeugen. Man kann so z.b. eine gif Datei für seine Shopfrontpage erstellen, und eine weitere um den Blog in einem Fachforum zu Promoten. [...]
Pixeleyes
vor 2 Jahre
1.Magpie auf server kopieren.
2. Wordpress installieren und eine Kategorie News einfügen.
3.Unter Einstellungen, Permalinks auf Benutzerdefiniert und dann folgendes einfügen:
/%category%/%postname%/
4. Htacess datei in den Ordner Wordpress
RewriteEngine On
RewriteBase /wordpress/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
dann folgenden PHP-Code als feed.php speichern und auf den server hochladen.
add("RSS FEED");
require (DIR_WS_INCLUDES.'header.php');
$feed = "";
require_once('magpie/rss_fetch.inc');
$url = 'http://www.deinedomain.de/wordpress/category/news/feed';
$rss = fetch_rss($url);
$num_items = 10;
$items = array_slice($rss->items, 0, $num_items);echo "";
foreach ($items as $item) {
$title = $item[title];
$link = $item[link];
$desc = $item[description];
$datum = substr($item[pubdate], 5, 12);
$feed .= "".$title."
".$datum."".$desc."Alles Lesen..\n";
}
$smarty->assign('language', $_SESSION['language']);
$smarty->assign('main_content', $feed);
$smarty->caching = 0;
if (!defined(RM))
$smarty->load_filter('output', 'note');
$smarty->display(CURRENT_TEMPLATE.'/index.html');
include ('includes/application_bottom.php');
?>
dann in der index.html:
RSS-Feed
dies könnt ihr nach belieben platzieren wo ihr wollt.
Pixeleyes
vor 2 Jahre
Irgendwie hat der Blog den Code geschluckt??
Hier nochmal die Passagen:
Feed.php:
add("RSS FEED");
require (DIR_WS_INCLUDES.'header.php');
$feed = "";
require_once('magpie/rss_fetch.inc');
$url = 'http://www.deinedomain.de/wordpress/category/news/feed';
$rss = fetch_rss($url);
$num_items = 10;
$items = array_slice($rss->items, 0, $num_items);echo "";
foreach ($items as $item) {
$title = $item[title];
$link = $item[link];
$desc = $item[description];
$datum = substr($item[pubdate], 5, 12);
$feed .= "".$title."
".$datum."".$desc."Alles Lesen..\n";
}
$smarty->assign('language', $_SESSION['language']);
$smarty->assign('main_content', $feed);
$smarty->caching = 0;
if (!defined(RM))
$smarty->load_filter('output', 'note');
$smarty->display(CURRENT_TEMPLATE.'/index.html');
include ('includes/application_bottom.php');
?>
Index:
Pixeleyes
vor 2 Jahre
Index:
markus
vor 2 Jahre
bekomme folgenden fehler
Warning: MagpieRSS: Failed to fetch http://blog.steigtechnik-shop.de/wordpress/category/News (HTTP Response: HTTP/1.1 404 Not Found ) in http://www.steigtechnik-shop.de/magpie/rss_fetch.inc on line 238
Warning: array_slice() [function.array-slice]: The first argument should be an array in /home/www/steigtechnik/templates_c/%%5D^5D7^5D71EED0%%index.html.php on line 89
Warning: Invalid argument supplied for foreach() in /home/www/steigtechnik/templates_c/%%5D^5D7^5D71EED0%%index.html.php on line 90
markus
vor 2 Jahre
so ich habe es jetzt nach dem post 32 gemacht
aber was muss ich in der index einfügen rss feed!?
aber wie/ als was?
markus
vor 2 Jahre
wenn ich die einstellung mache:
3.Unter Einstellungen, Permalinks auf Benutzerdefiniert und dann folgendes einfügen:
/%category%/%postname%/
kommt ein serverfehler
Mario
vor 2 Jahre
Hallo,
habe es auch genau so gemacht..aber es passiert nichts...hab auch die 2te version mit der extra feed.php aber tut sich nichts...nichtmal eine Fehlermeldung...
Dominik Schuster
vor 1 Jahr
Bei mir klappt das mit Magpie und Xtcommerce wunderbar - danke für die Anleitung!
Ein Problem habe ich nur mit dem Datumformat. Das wird bei mir heute z.B. als "06 Mar 2008" angezeigt. Wie bekomme ich es hin, dass da steht "06.03.2008"?
Danke für die Hilfe!
Stephan
vor 1 Jahr
Hallo,
wie bekomme ich den Code in meine index.html im Template.
wo und wie muß ich den Code einfügen.
vielen Dank im Vorraus
Basti
vor 1 Jahr
Hallo! Klasse Anleitung! Bekommt man mit dem Script keine Probleme wegen duplicate content?
Basti
vor 1 Jahr
Ich habs mittels der robot.txt gelöst! War ne dumme Frage zugegeben.
Jan
vor 1 Jahr
Hallo,
danke für die gute Beschreibung! Genau so etwas habe ich gesucht und es funktioniert bestens.
Mobile DSL
vor 1 Jahr
Basti - ich hab die gleiche Frage wie Du.
Vielleicht findet sich jemand Kundiger, der uns da helfen kann??
Bitte!
Makarska
vor 13 Wochen
na mit der Anleitung hat das super geklappt - danke
Kommentar hinzufügen