Dokumentation ContentStream (Plugin für Shopware)

Link zum Plugin: http://bit.ly/netzperfekt-contentstream

In dieser Dokumentation wird das Plugin ContentStream beschrieben. Mit diesem Plugin können Sie unterschiedliche Inhaltsquellen wie Blog, Shopseiten, Einkaufswelten, WordPress-Feeds, YouTube-Kanäle und weitere übersichtlich an einem Ort darstellen. Wenn Sie häufig aktualisierte Inhalte haben, können Ihre Nutzer sich so einen sehr schnellen Überblick über die Neuigkeiten verschaffen und müssen nicht umständlich unterschiedliche Quellen anklicken.

Das Plugin ist somit ideal für alle Arten von Content Marketing. 


Plugin-Einstellungen

In den Plugin-Settings können einige Einstellungen vorgenommen werden:

  • SEO-URL für die Inhaltsübersicht: Hierüber können Sie die URL festlegen, unter der der ContentStream im Frontend abrufbar ist. Belassen Sie die Voreinstellung, ist das dann die Url www.IhrShop.de/aktuell. Unter Umständen müssen Sie nach einer Änderung dieser Einstellung  den Shopcache leeren.
  • Likes zulassen: Steht diese Einstellung auf Ja, können Ihre Nutzer jeden Eintrag im ContentStream liken, zudem wird die Gesamtzahl der Likes mit dargestellt.
  • Sharing und Sharing Seiten: Hier können Sie festlegen, ob und auf welchen Seiten Einträge des ContentStreams geteilt werden können. Achtung: diese Funktion ist nur aktiv, wenn das Plugin „Social via Shariff“ (Andreas Schulz) installiert und aktiviert ist. Dieses Plugin greift auf das Shariff-Plugin des heise-Verlags zurück und erlaubt den datenschutzkonformen Einsatz von Facebook & Co.
    Die Einstellungen bei den Sharing-Seiten entsprechen denen von Shariff (Dokumentation siehe https://github.com/heiseonline/shariff). 
  • Newsletter-Anmeldung: Hiermit können Sie wählen, ob eine Anmelde-Box für den Shop-Newsletter permanent oberhalb des ContentStreams angezeigt werden soll.
  • Gelöschte Einträge anzeigen (Archiv): Steht diese Einstellung auf Ja, werden später gelöschte ContentStream-Einträge auch weiterhin dargestellt. Optisch wird allerdings kenntlich gemacht, dass der Eintrag veraltet ist.
  • Hintergrundfarbe, Textfarbe, Farbe Hervorhebung, Farbe für Grauton: Hier können Sie Farbwerte auswählen, um die Darstellung des ContentStreams Ihrem Shoplayout anzupassen.

Frontend

Der ContentStream ist nun über die in den Plugin-Einstellungen vergebene SEO-URL abrufbar, standardmässig also unter www.IhrShop.de/aktuell

Tipp: alle Texte (z.B. „Neuigkeiten bei uns“) lassen sich über die Textbaustein-Verwaltung im Shopware-Backend beliebig anpassen und übersetzen!


Die Filter-Box am linken Rand erlaubt durch anklicken die Auswahl der anzuzeigenden Inhalts-Quellen. Die Einstellung wird für jeden Nutzer im Browser gemerkt, so dass ein erneuter Aufruf die selben Filter anzeigt. Die Box kann eingeklappt werden, so dass die Darstellung übersichtlicher ist. 

Über die Icons am unteren Rand der Box kann die Anzeige zwischen einer Kachel- und Listendarstellung umgeschaltet werden. Ebenso steht eine Suchfunktion zur Verfügung und es kann nach den vom jeweiligen Nutzer gelikten Einträgen gefiltert werden. 


Content-Stream anlegen

Das Plugin ist über ein eigenes Menü im Backend erreichbar: 

Die Hauptfunktionen sind über den übergeordneten Menüpunkt Inhalts-Stream aufrufbar. Unter Inhalts-Quellen können Sie einzelne Quellen (wie Blog, Shopseiten, WordPress etc.) anlegen. Der Stream muss regelmässig neu erzeugt werden, dies erfolgt über einen CronJob automatisiert. Sie können jedoch über den Menüpunkt Inhalts-Stream aktualisieren die Erzeugung auch manuell anstossen. Über Inhalts-Stream aufräumen können Sie im Bedarfsfall veraltete/verwaiste Einträge löschen.


Inhalts-Quellen definieren

Bevor der ContentStream erzeugt werden kann, müssen Sie eine oder mehrere Inhalts-Quellen definieren. Nach der Plugin-Installation sind bereits folgende Quellen vordefiniert, die Sie natürlich anpassen, deaktivieren oder auch ganz löschen können. Ebenso können neue Quellen hinzugefügt werden. 

Die Bedienung funktioniert wie von Shopware insgesamt gewohnt: Über Hinzufügen erstellen Sie eine neue Quelle, das Minus-Symbol lösche eine Quelle und der Bleistift erlaubt die Bearbeitung. Ein Doppelklick auf einen Eintrag in der Liste bietet einige Felder zur direkten Bearbeitung an.

Die Detailansicht einer Inhalts-Quelle bietet folgende Möglichkeiten: 

(Mit einem * versehene Felder müssen eingegeben werden.)


  • Schlüssel (*): Hier muss eine eindeutige Kennung für die Inhalts-Quelle vergeben werden. Diese ist frei wählbar und wird nur intern verwendet. Bitte geben Sie hier keine Leer- oder Sonderzeichen ein. Sie können problemlos mehrere Quellen des gleichen Typs anlegen, diese müssen sich jedoch im Schlüssel unterscheiden (z.B. feed1, feed2, feed3…)
  • Titel (*): Der Titel der Inhaltsquelle, dieser wird an verschiedenen Stellen im ContentStream verwendet und angezeigt.
  • Typ (*): Wählen Sie hier den gewünschten Typ der Inhaltsquelle aus (siehe weiter unten). In Abhängigkeit des Typs können sich die Eingabefelder im Formular möglicherweise ändern.
  • Icon: Hier können Sie ein FontAwesome-Icon eintragen, dass im Frontend vor dem Titel der Inhaltsquelle ausgegeben wird (z.B. fa-edit). Eine Übersicht über alle verfügbaren Icons finden Sie unter http://fontawesome.io/icons
  • SEO Url: Hier können Sie die URL der Detailansicht für den jeweiligen ContentStream-Eintrag festlegen. Steht dieser Wert z.B. auf post, ist der Detaileintrag dann später im Frontend unter www.IhrShop.de/post/… aufrufbar.
  • Source Url: Dieser Eintrag ist nur für Inhalts-Quellen relevant, die Informationen von externen Seiten beziehen (z.B. der Typ WordPress).
  • Benutzername / Kennwort: Bei manchen Inhalts-Quellen können hier notwendige Zugangsdaten hinterlegt werden (z.B. beim Typ YouTube der YouTube-API Key).
  • PHP-Klasse (*): Hier muss die interne PHP-Klasse für die jeweilige Inhalts-Quelle eingetragen werden (siehe weiter unten). Achten Sie auf die korrekte Schreibweise!
  • Aktiv: Hier kann gesteuert werden, ob Einträge für die jeweilige Inhaltsquelle erzeugt und angezeigt werden sollen. Achtung: wird eine Inhaltsquelle später deaktiviert, bleiben bereits vorher erzeugte Einträge bestehen. Diese können Sie über den Menüpunkt Inhalts-Stream aufräumen jedoch entfernen.
  • Bedingung(en): Viele Inhalts-Quellen können über Bedingungen gesteuert werden. Eine Bedingung legt dabei fest, welche Einträge erzeugt werden sollen (z.B. ein bestimmter YouTube-Kanalname oder eine WordPress-Kategorie).
  • Link Url / Link Titel / Link-Ziel: Wenn diese Felder ausgefüllt sind, kann von der Detailseite eines Eintrags auf die ursprüngliche Quelle verlinkt werden. So kann z.B. ein YouTube-Video direkt auf den Kanal bei YouTube verlinken. Entsprechend können Sie hier die gewünschte URL, einen Titel dafür und ein Ziel (gleiches / neues Fenster) eintragen.
  • Header-Bild / Header-Titel / Kurzbeschreibung: Auf der Detailseite kann ein optionales Header-Bild dargestellt werden. Ebenso kann ein Titel vergeben werden und eine Kurzbeschreibung hinterlegt werden. Alle Informationen werden oberhalb der Detail-Inhalte des jeweiligen ContentStream-Eintrags dargestellt.

Inhalts-Typen

Shopware Einkaufswelt

Schlüssel: cs_emotion / PHP-Klasse: NetzpContentStream\Sources\Emotion

Hierüber werden Shopware-Einkaufswelten in den ContentStream eingebunden.
Hinweis: dies funktioniert nur für zeitgesteuerte Einkaufswelten, die dann zum passenden Datum im ContentStream erscheinen. So kann z.B. auf neue Aktionen hingewiesen werden. Die Verlinkung erfolgt dann auf die Einkaufswelt selbst.


Shopware Blogpost

Schlüssel: sw_blog / PHP-Klasse: NetzpContentStream\Sources\ShopwareBlog

Hiermit können Shopware-Blogposts eingebunden werden. Die Blog-Einträge erscheinen dann in der korrekten chronologischen Reihenfolge, ein Klick führt zum Original-Blogpost von Showpare.


Shopware Seite

Schlüssel: sw_page / PHP-Klasse: NetzpContentStream\Sources\ShopwarePage

Analog zu den Blogposts können Shopseiten integriert werden. Das Datum, zu dem die Seite im ContentStream auftaucht, ist zunächst immer das Erstellungsdatum der Shopseite. (Dies kann jedoch manuell angepasst werden - siehe weiter unten).

Tipp: Ist das Feld Bedingung(en) in der Inhalts-Quelle leer, werden alle Shopseiten dargestellt, also auch die AGB, Impressum etc. Da dies meist nicht gewünscht ist, kann unter Bedingung(en) eine Shopseiten-Gruppe eingetragen werden. So werden nur dieser Gruppe zugeordnete Shopseiten angezeigt.


RSS-Feed

Über diesen Typ können beliebige, standardkonforme RSS-Feeds eingebunden werden. Das Feld Source URL muss dabei den die Feed-Adresse enthalten (Achtung: es erfolgt keine Auto-Erkennung). Für den Shopware-Newsfeed ist dies z.B. https://de.shopware.com/news/?sRss=1


WordPress REST

Schlüssel: cs_wordpress / PHP-Klasse: NetzpContentStream\Sources\WordPressRest

Ebenso ist die direkte Anbindung an externe WordPress-Blogs möglich. Die Anbindung erfolgt dabei über die REST-Schnittstelle, die erheblich mehr Informationen als ein RSS-Feed übertragen kann (unter anderem auch Beitragsbilder). 

Hier ist unter Source URL die Adresse des WordPress-Blogs einzutragen (ohne Feed o.ä.).
Im Feld Bedingung(en) kann eine WordPress-Kategorie-ID eingetragen werden (in numerischer Form), um nur Beiträge einer bestimmten Kategorie zu übernehmen.

Weiterhin können im Feld Bedingung(en) die Befehle [post] oder [page] vorangestellt werden, um gezielt WordPress-Beiträge oder Seiten abrufen zu können.


Beispiel: [post]211 ruft alle WordPress-Beiträge mit der Kategorie-ID 211 ab.
Tipp: Die WordPres-Kategorie-ID erhalten Sie im WordPress-Backend. Klicken Sie in den Kategorien auf Bearbeiten der gewünschten Kategorie, und Sie finden in der Browser-Adressleiste eine URL in der Form: 

https://wordpress.ideenmitherz.de/wp-admin/term.php?taxonomy=category&tag_ID=211&post_type=post&wp_http_referer=%2Fwp-admin%2Fedit-tags.php%3Ftaxonomy%3Dcategory

Die tag_ID ist dann die gewünschte Kategorie-ID.

Hinweis: Die WordPress-Anbindung erfordert die Unterstützung der WP-REST API v2. Diese ist ab der WordPress-Version 4.7. standardmässig integriert. Bitte verwenden Sie jedoch aus Sicherheitsgründen ausschließlich die jeweils neueste WordPress-Version.

YouTube Kanal

Schlüssel: cs_youtube / PHP-Klasse: NetzpContentStream\Sources\YouTube

Auch YouTube-Kanäle können direkt in den ContentStream eingebunden werden.

Hierzu ist zunächst ein YouTube API Key zu erzeugen und im Feld Youtube API Key einzutragen. Um den Key zu erhalten, folgen Sie bitte dieser Anleitung:
https://developers.google.com/youtube/registering_an_application#Create_API_Keys 
(erstellen Sie einen API-Key, keinen OAuth-Schlüssel).

Im Feld Bedingung(en) muss so dann der gewünschte YouTube-Kanalname eingetragen werden (Achtung: Kanalname - nicht der Username! Ggf. müssen Sie zunächst einen YouTube-Kanal anlegen.)

Alle Informationen wie Kanal-Bild, Beschreibung und natürlich die Videos selbst werden dann bei der Erzeugung des ContentStreams automatisch von YouTube abgerufen.

Ein Klick auf den Video-Eintrag öffnet die Detailseite, in der das Video direkt abgespielt werden kann.


Info

Schlüssel: cs_info / PHP-Klasse: NetzpContentStream\Sources\Info

Mit dieser Inhalts-Quelle können beliebige, kleine Mitteilungen in den Stream eingebunden werden (z.B. Urlaubs-Hinweise, besondere Aktionshinweise etc.). Die Eingabe der Information erfolgt dann später im ContentStream selbst (siehe weiter unten).



Medien-Galerie

Schlüssel: np_gallery / PHP-Klasse: NetzpGallery\Sources\GallerySource

Hinweis: hierfür ist unser Plugin „Medien-Galerie“ notwendig (bit.ly/netzperfekt-galerie).

Dieser Inhalts-Typ dient zur Anzeige von geänderten Bilder-Galerien. Immer, wenn neue Bilder hinzugefügt werden, erscheint so auch ein Eintrag im ContentStream, die neuen Bilder werden als kleine Thumbnails mit dargestellt.
Achtung: dies funktioniert aus technischen Gründen nur für Medien-Galerien, in denen die Bilder manuell hinzugefügt werden (also der Galerie-Typ Shopware Medien / freie Eingabe).

Erzeugen des Inhalts-Streams

Wie bereits erwähnt, muss der ContentStream periodisch neu erzeugt werden.
Hierbei werden die unterschiedlichen Inhaltsquellen abgefragt und neue Einträge zusammengeführt. Dies hat technische Gründe und dient zudem zur schnelleren Darstellung der Inhalte.

Hinweis: dies bedeutet auch, dass Änderungen in Inhalts-Quellen nicht sofort im ContentStream sichtbar sind. Sie können jedoch den Stream auch manuell erzeugen
lassen (siehe unten).

Automatische Erzeugung

Mit der Plugin-Installation wird ein Shopware-Cronjob angelegt, der diese Aktualisierung übernimmt. Wichtig: Stellen Sie sicher, dass der Shopware-CRON auch wirklich aufgerufen und ausgeführt wird (siehe auch http://community.shopware.com/_detail_1102.html),
aber das ist ohnehin für einen reibungsfreien Shopbetrieb notwendig. Sprechen Sie im Zweifelsfall Ihren Shopware-Dienstleister an.

Standardmässig erfolgt die Aktualisierung des ContentStreams einmal pro Stunde. Sie können diesen Wert im Backend unter Einstellungen / Cronjobs / Content Stream Refresh / Ausführungsintervall jedoch auch anpassen. Wählen Sie bitte keinen Wert unter 10 Minuten, da sonst unter Umständen nicht genügend Zeit für die Ausführung bleibt.

Manuelle Erzeugung

Manuell können Sie den ContentStream im Backend unter Inhalte / Inhalts-Stream / Inhalts-Stream aktualisieren neu erzeugen. Je nach Anzahl und Umfang der Inhalts-Quellen kann
das einige Sekunden bis zu einigen Minuten in Anspruch nehmen.

Protokoll-Datei

Sollte es bei der Erzeugung oder Aktualisierung des ContentStreams zu Problemen oder Fehlern kommen, werden diese in der Datei /var/log/plugin_production-*.log protokolliert. Sie erhalten hier dann Anhaltspunkte, ob und warum der Stream nicht erzeugt werden konnte.


Wichtig: nach der ersten Installation des Plugins und Einrichtung/Konfiguration der Inhalts-Quellen sollten Sie den ContenStream einmal wie oben beschrieben manuell erzeugen.

Indiv. Anpassung des Inhalts-Streams

Nicht immer möchten Sie die aus den Inhalts-Quellen automatisch übernommenen Informationen exakt so im ContentStream darstellen. Dazu kann jeder Eintrag nachträglich manuell angepasst werden. Rufen Sie im Backend unter Inhalte / Inhalts-Stream zunächst die ContentStream-Einträge auf. (Sollte die Liste leer sein, müssen Sie zunächst den Stream wie oben beschrieben erzeugen!). 

Ein Doppelklick auf einen Eintrag erlaubt die Bearbeitung von einigen Feldern, die Detailansicht mit allen Feldern kann über das Bleistift-Symbol aufgerufen werden:

Die Felder haben folgende Bedeutung:

  • Quelle: Die zugeordnete Inhalts-Quelle. Diese sollten Sie nicht nachträglich ändern!
  • Aktiv: Falls angekreuzt, wird der Eintrag dargestellt. Sie können hiermit unerwünschten Einträge nachträglich aus dem ContentStream herausnehmen.
  • Datum: Das Veröffentlichungsdatum des Eintrags. Dieses steuert die Reihenfolge im ContentStream und wird ebenfalls angezeigt.
  • Datum (angezeigt): [optional] Falls dieses Feld gesetzt ist, wird der Inhalt anstelle des Datum-Feldes angezeigt. Die Reihenfolge im Stream wird hiervon jedoch nicht beeinflusst.
  • Titel / Untertitel: Der im ContentStream angezeigte Titel bzw. Untertitel (letzterer ist optional).
  • Tags: Für manche Inhalts-Quellen können Tags vergeben werden, z.B. Blog-Posts. Diese werden in der Listendarstellung und ggf. dem Detaileintrag mit angezeigt.
  • URL: Dieses Feld steuert die Verlinkung zur Detailseite.
  • Original-URL: Bei manchen Inhalts-Typen kann zusätzlich die URL angegeben werden, unter der die Original-Quelle zu finden ist (z.B. bei externen WordPress-Blogs oder YouTube-Kanälen). In den Detailseiten kann dieser Link angeklickt werden.
  • Kategorie: Dieser Wert wird sowohl im ContentStream als auch auf der Detailseite mit angezeigt. Bei manchen Inhaltstypen (z.B. YouTube) kann hierüber noch eine zusätzliche Selektion der anzuzeigenden Einträge erfolgen:
  • Gruppierung: dies ist ein internes Feld, das nicht verändert werden sollte. Es steuert die Gruppierung von Untereinträgen, z.B. bei Galerien.
  • Inhalt: Dieses Feld wird sowohl in der ContentStream-Übersicht, als auch auf der Detailseite dargestellt.
  • Gelöscht: Hierüber kann bestimmt werden, ob ein Eintrag als gelöscht/archiviert gekennzeichnet ist. In den Plugin-Einstellungen (siehe oben) kann definiert werden, ob archivierte Einträge dennoch weiter angezeigt werden sollen. 
  • Verändert: Sobald ein Eintrag manuell bearbeitet wird, ist dieses Feld gesetzt. Derartig gekennzeichnete Einträge werden bei einer Neuerzeugung des ContentStreams nicht überschrieben.
  • Sticky: Ist das Feld gesetzt, wird ein Eintrag unabhängig vom Datum stets ganz oben im ContentStream dargestellt - gut nutzbar für wichtige Ankündigungen, Aktionen etc.
  • Hervorheben: Ebenso kann ein Eintrag optisch noch weiter hervorgehoben werden, um die Aufmerksamkeit im ContentStream zu erhöhen.
  • URL Eintragsbild: In einigen Inhalts-Typen können kleine Thumbnails mit angezeigt werden, tragen Sie hier die gewünschte (vollständige) URL auf ein Bild ein.
  • URL Hauptbild: Dieses Feld steuert das Header-Bild eines Eintrags. Tragen Sie hier die gewünschte (vollständige) URL auf das gewünschte Bild ein.
  • Metadaten: (dieses Feld wird derzeit noch nicht verwendet.)
  • Zugeordnete Artikel: Hier können Sie ein oder mehrere Shopware-Artikelnummern (dann mit Kommas getrennt) eintragen. Auf der Detailseite können alle diese Artikel mit einem Klick in den Warenkorb gelegt werden. Dies ist optimal z.B. für Content Marketing im Sinne von Anleitungen, Tipps etc.
    Es können auch die jeweiligen Stückzahlen eingetragen werden:

    SW10166 - fügt ein Stück hinzu

    SW10166@3 - fügt drei Stück des Artikels hinzu

    SW10166,SW10165@2,SW10164@4 - fügt mehrere Artikel mit unterschiedlichen Stückzahlen hinzu.

Hinweis: die Artikelzuordnung funktioniert derzeit für folgende Inhalts-Quellen:
Shopware Seite, Shopware Blogpost, RSS Feed, WordPress REST und YouTube Kanal.


Veränderte Einträge

Wenn Sie einen Stream-Eintrag manuell inhaltlich verändern, wird das entsprechende Kennzeichen (siehe oben) gesetzt und in der Übersichtsliste im Backend optisch gekennzeichnet:

Die gilt nur für inhaltliche Veränderungen (z.B. des Titels, der Beschreibung etc.). Wird nun der ContentStream später erneut erzeugt, werden diese manuellen Änderungen nicht überschrieben! Sie können das Kennzeichen Verändert jedoch von Hand zurück setzen, dann wird der Eintrag erneut eingelesen. Alternativ können Sie den betreffenden Eintrag auch komplett löschen, er wird dann erneut erzeugt.

RSS2.0-Feed und DooFinder-Integration

Über die Url www.IhrShop.de/feed kann ein RSS 2.0-konformer Feed des ContentStreams abgerufen werden. Ihre Nutzer können diesen abonnieren und auch über Newsreader o.ä. stets informiert bleiben.

Weiterhin ist dieser RSS-Feed mit einigen zusätzlichen Informationen angereichert. Er kann direkt in die externe Suchlösung DooFinder integriert werden, so dass dort auch Ergebnisse aus dem ContentStream präsentiert werden. Die Konfiguration von DooFinder entnehmen Sie bitte der Dokumentation unter www.doofinder.com/support.


Wir wünschen Ihnen viel Erfolg 
mit unserem Plugin und 
gute Geschäfte mit Shopware.