Shopware Knowledgebase

Dieser Artikel ist noch nicht für Shopware 3.5 geprüft bzw. freigegeben.
Shopware Labs

Der Bereich Shopware Labs ist die Plattform für alle Entwickler. Hier findet man technische Dokumentationen und zahlreiche Tipps und Tricks rund um das Thema Programmieren. In dieser Rubrik stellen außerdem die Entwickler der shopware AG neue und experimentelle Lösungsansätze vor. Neue Funktionen, die in dieser Rubrik bereitgestellt werden, sind teilweise auch für zukünftige Releases geplant. Die Funktionen können dann ohne Programmierkenntnisse zukünftig direkt im Shopware Backend konfiguriert werden oder werden über Plugins bereitgestellt. Informationen über neue, geplante Funktionen finden Sie in unserer Roadmap.

Bitte beachten Sie, dass die hier bereitgestellten Lösungsansätze nicht offiziell supportet werden und nur eingebaut werden sollten, sofern Sie über das entsprechende, technische Wissen verfügen.

Externe RSS- und Atomfeeds auf der Startseite anzeigen

  • shopware AG
  • 10.05.2010
  • 1
  • Voting
  • RSS, Atom, Feeds, Startseite 
  • Labs/ Alte Erweiterungen/ Soziale Netze
  • Kein Support 

Allgemein

Mit SimplePie ist es möglich RSS- und Atom-Feeds per PHP zu parsen und auf der Startseite anzuzeigen. SimplePie liefert Ihnen dazu mehrere Klassen, welche den Umgang mit Feeds stark vereinfacht.

Installation (Server und Backend)

  • Laden Sie sich SimplePie von der Projekthomepage herunter: http://github.com/rmccue/simplepie/downloads
  • Bauen Sie eine Verbindung zu Ihren FTP-Server auf und wechseln Sie in das Verzeichnis "engine/vendor" und erstellen Sie ein Verzeichnis mit dem Namen "simplepie"
  • Laden Sie die Datei "simplepie.inc" aus dem SimplePie Archiv in das Verzeichnis "engine/vendor/simplepie" hoch
  • Loggen Sie sich in Ihr Shopware Backend ein
  • Gehen Sie unter Einstellungen auf Grundeinstellungen. Hier wechseln Sie in Erweiterte Systemeinstellungen -> Hookpoints und erstellen einen neuen Hookpoint
  • Als Einstiegspunkt für den Hookpoint wählen Sie bitte "sCore.php_sStart_BeforeEnd" aus
  • Bitte bezeichnen Sie den Hookpoint als "SimplePie RSS-Feedparser"
  • Kopieren Sie jetzt den folgenden Code in das Feld "Auszuführender Code", speichern den Hookpoint und leeren Ihren Shopcache

 
 include('engine/vendor/simplepie/simplepie.inc');
 
 $feed = new SimplePie();
 
 $rss = ''; //Bitte geben Sie hier ihre RSS-Adresse ein
 
 $feed->set_feed_url($rss);
 $feed->init();
 
 if($feed->data) {
  $items = $feed->get_items();
 
  $i = 0;
  foreach($items as $item) {
   $variables['feeds'][$i]['title'] = $item->get_title();
   $variables['feeds'][$i]['link'] = $item->get_permalink();
   $variables['feeds'][$i]['content'] = $item->get_content();
   $variables['feeds'][$i]['date'] = $item->get_date('d.m.Y');
   $i++;
  }
 }
 

Bitte achten Sie darauf dass Sie in Zeile 3 Ihre RSS-Feed Adresse angeben. Ab diesen Punkt steht Ihnen die Smarty-Variable "$feeds" zur Verfügung, welche Ihre Feeds erhält.

Installation (Template)

Um die Feeds auf der Startseite Ihres Shops anzuzeigen ist eine Template-Anpassung nötigt. Dazu öffnen Sie die Datei "index.tpl", welche sich im Verzeichnis "templates/0/de/index/" befindet. Hier suchen Sie sich die Stelle heraus, wo die Feeds anzeigen sollen und fügen folgenden Code ein:

 
{foreach from=$feeds item=item key=key name="counter"}
	<div class="feed">
		<span class="title">{* Feed Title *}{$item.title}</span>
		<span class="date">{* Feed Date *}{$item.date}</span>
		{* Feed Content *}{$item.content}
		<span class="link"><a href="{$item.link}" title="{$item.title}">{* Feed Link *}{$item.link}</a></span>
	</div>
{/foreach}
 

Aussehen per CSS anpassen

Das Styling der Ausgabe kann natürlich wieder per Cascading Style Sheets passieren. Hierzu haben Sie folgende Klassen zur Verfügung:

  • .feed - Container für die Feeds
  • .feed .title - Der Titel des Feeds
  • .feed .date - Datum des Feeds
  • .feed .link - Link des Feeds

Sonderzeichen werden nicht korrekt angezeigt

Wenn bei Ihnen die Sonderzeichen nicht korrekt angezeigt werden, dann liegt hier ein Problem mit der Text Encodierung zusammen. SimplePie bietet für diesen Fall auch passende Methoden wodurch Sie die Problematik umschiffen können.

Hier zu öffnen Sie den angelegten Hookpoint und suchen nach der Zeile

 
$feed->init();
 

und ersetzen diese mit folgenden Code-Block:

 
$feed->set_output_encoding('Windows-1252');
$feed->init();
$feed->handle_content_type();
 

Artikel-PDF erstellen

Erweiterung bewerten

Waren diese Informationen hilfreich? Ja Nein


Kommentare:

Anzahl der Feeds übergeben

18.08.2010 08:08

Von: Johannes

Hallo zusammen,

erstmal, super Anleitung!

Wie kann man aber nun über den Hookpoint die Anzahl der übergebenen Artikel einstellen? Geht das?

Viele Grüße
Johannes

Artikel kommentieren


Die mit einem * markierten Felder sind Pflichtfelder.

Weitere interessante Artikel:

Bezeichnung:
Rating:
Klicks:
Datum:
7 Punkte
2275
02.02.2010
7 Punkte
2471
01.02.2010

Bestell-Nr.: SW1367

Lieferzeit ca. 5 Tage

€ 1,00

Preise inkl. gesetzlicher
MwSt. zzgl. Versandkosten*

€ 1,00

Preise inkl. gesetzlicher
MwSt. + Versandkosten*