Vorheriger Artikel Nächster Artikel

Toxid für Oxid: Praktisches Content-Management-System für Online-Shops

Aus dem
t3n Magazin Nr. 30

12/2012 - 02/2013

Viele Online-Shops behandeln zusätzlichen Content wie zum Beispiel weiterführende Inhalte zu Produkten häufig noch stiefmütterlich. Dabei kommen Differenzierung und Zusatzinformationen bei einer wachsenden Zahl an Mitbewerbern mehr Bedeutung denn je zu. Mit Toxid finden Shopbetreiber eine technische Lösung zur Integration von TYPO3 und auch anderen Content-Management-Systemen in die Shopsoftware eShop.

Toxid für Oxid: Praktisches Content-Management-System für Online-Shops

Bei vielen Online-Shops trifft man auf ähnliche Voraussetzungen: ein solider Shop, gutes Design, Anbindung an die Warenwirtschaft – kurz: Der Betreiber hat die wichtigsten Hausaufgaben erledigt. Dennoch kommen die Verkäufe oftmals nicht so richtig in Schwung. Manche Shops habe bereits einen weiteren Schritt gemacht und zusätzliche Informationen eingebunden. Aber auch das führt nicht zwangsläufig zum Erfolg, wenn der Shop nach außen zwei vollkommen getrennte Systeme betreibt: ein zur Präsentation der Corporate-Site und ein Shopsystem für den Onlinevertrieb der Produkte.

dms 8b5369ffc1fd88c3b4bd40b01946ffa6
Mit Toxid finden Oxid eShops Anbindung an CMS wie TYPO3 und WordPress.

Das Image, das man auf der Hauptseite aufbaut, sucht der Kunde dann im Shop vergebens. Umgekehrt verschwindet der Warenkorb beim Wechsel auf die Corporate-Website oder das Layout wechselt gar komplett – weg ist der Kunde.

Wie man an diesen zwei kurzen Beispielen erkennt, gibt es die unterschiedlichsten Ausprägungen von Content, den man im Shop benötigt. Wird der Inhalt umfangreicher und komplexer, kommt man an einem richtigen Content-Management-System nicht vorbei. Mit Toxid können Betreiber eines Oxid eShop unterschiedliche CMS einbinden.

WAS IST TOXID?

Warum nicht einfach ein CMS-Modul für Oxid entwickeln? Wäre nicht auch der Einsatz einer Shop-Extension für das CMS eine Option? Betrachtet man beispielsweise die beiden Systeme TYPO3 und Oxid eShop, wird schnell ersichtlich, dass eine kaum zu bewältigende Entwicklungsleistung aufzubringen und zudem die Komplexität des Systems zu erhöhen wäre, wenn man den gewünschten Part als Modul beziehungsweise Extension entwickelt.

Setzen Shopbetreiber hingegen eine Schnittstelle ein, so erreichen sie zwar den kompletten Funktionsumfang, haben technisch aber immer noch zwei getrennt laufende Systeme, die sie auch getrennt warten, erweitern und bei Lastspitzen auch skalieren können.

Ursprünglich, der Name verrät es noch, hatten die Entwickler Toxid als Modul zur Verknüpfung von TYPO3 und Oxid eShop geplant. Dank der offenen Architektur ist das Toxid-cURL-Modul inzwischen allerdings mit vielen anderen CMS wie Drupal, WordPress oder Contao im Einsatz.

TOXID IM EINSATZ

Im Grunde gibt es zwei Ansätze zur Integration derartiger Systeme. Zum einen kann man über eine Single-Sign-On-Lösung Shop und Content-Management-System parallel betreiben und lediglich die Informationen im Hintergrund austauschen, die man zur Darstellung benötigt. Zum anderen besteht die Möglichkeit, ein System als Master zu betreiben, das sich um Session-Handling und Interaktion mit dem Benutzer kümmert und das andere System als Erweiterung einbindet.

Diesen zweiten Weg geht Toxid cURL. Dabei fungiert Oxid eShop als das ausliefernde System, mit dem der Benutzer interagiert. Das CMS hingegen stellt die Inhalte fertig gerendert bereit. Alle so generierten Blöcke werden hierbei in einer XML-Struktur erwartet, mittels cURL geladen und schließlich in Oxid eingebunden. Vor der Ausgabe werden die Blöcke noch durch Smarty, die Templating-Engine bei Oxid, gerendert. So lassen sich zum Beispiel Produkte als Content-Element einbinden, deren Konfigurationen der Shop dann dynamisch laden kann.

dms 2de4f2685595ff7b272ce0d3ae72967a
Der Online-Shop Stempelmeer setzt auf Oxid eShop und TYPO3.

INSTALLATION UND SETUP

Um Inhalte mit Toxid cURL in Oxid eShop verfügbar zu machen, installiert man zuerst das Modul. Dieses steht unter MIT-Lizenz auf GitHub [1] zum Download bereit. Die MIT-Lizenz erlaubt den Einsatz mit allen Editionen von Oxid eShop und quasi beliebigen CMS, die eine Struktur wie im Beispiel ausgeben können:

XML

<?xml version="1.0"?>
<toxid>
 <navigation>...</navigation>
 <content>...</content>
</toxid>

Listing 1

Nach dem Upload der Dateien ist es nötig, den Toxid-Autoloader zu registrieren. Dieser dient dazu, auch in älteren Oxid-Versionen sämtliche Dateien des Moduls zentral abzulegen. Dazu muss man die Datei modules/functions.php um die folgende Zeile ergänzen:

Anpassungen in der functions.php

require_once('toxid_curl/toxid_curl_autoloader.php');

Listing 2

Anschließend registriert man Toxid regulär als Modul (Mit der aktuellen Version 4.6 hat Oxid das Modul-Handling übrigens vereinfacht, sodass es genügt, das Modul nach dem Upload unter „Erweiterungen>Module“ zu aktivieren):

Modul-Registrierung

oxseodecoder => toxid_curl/core/toxid_curl_oxseodecoder
oxviewconfig => toxid_curl/core/toxid_curl_oxviewconfig

Listing 3

Nun gilt es, das CMS für die richtige Ausgabe zu konfigurieren. Exemplarisch sei hier TYPO3 herausgegriffen.

Toxid cURL funktioniert am besten mit sprechenden URLs, das CMS sollte entsprechend konfiguriert sein. Da statt einer kompletten Seite lediglich Content-Blöcke zur Ausgabe benötigt werden, sieht das TYPO3-Template schematisch wie folgt aus:

TYPO3

lib.nav = HMENU
lib.nav.wrap = <navigation><![CDATA[|]]></navigation>
lib.nav {
 ...
}

lib.content = COA
lib.content.wrap = <content><![CDATA[|]]></content>
lib.content.10 < styles.content.get

page = PAGE
page.typeNum = 1
page.config {
 disableAllHeaderCode = 1
}
page.10 < lib.nav
page.20 < lib.content
page.wrap = <?xml version="1.0" encoding="utf-8"?>

Listing 4

Nachdem das Modul installiert ist und das CMS den Content korrekt ausliefert, muss man die Ausgabe konfigurieren. In der aktuellen Version wird Toxid noch über die zentrale Konfigurationsdatei von Oxid gesteuert, ein Backend hierfür ist bereits in Planung.

Zur Identifikation der CMS-Seiten innerhalb von Oxid dient ein Teil des Pfades aus der URL. Dieser kann je nach Shop variieren und sollte treffend gewählt werden. Hinterlegt ist der Pfad für jede Sprache in der Variable „aToxidCurlSeoSnippet“. Der Key gibt dabei die SprachID aus Oxid an.

PHP

$this->aToxidCurlSeoSnippets = array(
 '0' => 'toxid-curl',
 '1' => 'toxid-curl-en',
);

Listing 5

Der Pfad zum Aufruf des CMS wird im Array „aToxidCurlSource“ definiert:

PHP

$this->aToxidCurlSource = array(
 '0' => 'http://yourcmspage.com/',
 '1' => 'http://yourcmspage.com/en/',
);

Listing 6

Wer möchte, kann die XML-Ausgabe auf einen anderen PageType legen oder für WordPress ein alternatives Template einsetzen. Den zusätzlichen Parameter definiert man in diesem Falle in „aToxidCurlUrlParam“:

PHP

$this->aToxidCurlUrlParam = array(
 '0' => '?type=1',
 '1' => '?type=1',
);

Listing 7

Jetzt lässt sich auch auf die neuen CMS-Inhalte einfach per Smarty im Template zugreifen:

Smarty

[{assign var='toxid' value=$oViewConf->getToxid()}] 
[{ $toxid->getCmsSnippet(content) }]

Listing 8

AUSBLICK

Seit der ersten Version wird kontinuierlich an Toxid cURL gearbeitet. So ist es zum Beispiel inzwischen möglich, mehrsprachige Inhalte zu verknüpfen, übergreifend zu suchen und Produkte als Content-Elemente anzulegen. Auch externe Agenturen haben erste Verbesserungen und Anpassungen an neue Versionen von Oxid eShop eingebracht. Mittlerweile gibt es darüber hinaus diverse Codebeispiele zur Integration weiterer Content-Management-Systeme. Diese werden auf der Seite zum Projekt gesammelt und veröffentlicht [2].

Die nächsten Schritte zur Weiterentwicklung sind geplant:

  • verbessertes Handling für Meta-Daten
  • Konfiguration des Moduls über das Backend
  • Readymade-Templates zur vereinfachten Integration
  • Extension für TYPO3, um Produkte noch einfacher im Content platzieren zu können

FAZIT

Toxid cURL bietet eine einfache und dennoch leistungsfähige Basis für die Integration von Content-Seiten in Oxid eShop via unterschiedlicher Content-Management-Systeme.

Darauf aufbauend ist es möglich, weitere Inhalte und Informationen im Shop zu verknüpfen. So lassen sich beispielsweise kontextabhängig Slider befüllen [3] oder zentral gepflegte Produktinformationen mit mehreren Artikeln verknüpfen. Ebenfalls auf Toxid cURL aufbauend ist ein Landingpage-Modul entstanden. Dieses Modul erlaubt es, Seiten mit viel Content für einzelne Produkte und Produktgruppen aufzubauen, um so Werbeaktionen zu unterstützen.

Toxid ist keine Out-of-the-Box-Lösung, vielmehr ist es als Basis für eigene Entwicklungen anzusehen, mit der sich auf das Unternehmen zugeschnittene Lösungen realisieren lassen und Content-Management-System und E-Commerce-Software zu einer Einheit verschmelzen.

NEU: Lass dir diesen Artikel vorlesen
Ein Service von t3n, in Kooperation mit Narando.

Links und Literatur

Softlink 3175
  1. Listings: Alle Listings des Artikels als zip-File
  2. 1 http://github.com/jkrug/TOXID-cURL
    Toxid cURL auf GitHub
  3. 2 http://www.toxid.org/technologien/
    Toxid.org / Technologien
  4. 3 http://www.camp4.de
    Produkt-Slider gefüllt aus Wordpress
Vorheriger Artikel Zurück zur Startseite Nächster Artikel
2 Antworten
  1. von Roman am 20.03.2013 (10:11 Uhr)

    Hallo Joscha,

    schöner Artikel. Wie schätzt du die "Mehrlast" ein, die OXID zu verwalten hat, wenn ich den Shop als führendes System für die Content-Inhalte nutze?
    Ab einer gewissen Userzahl wird es doch sicherlich recht dünn ohne vernünftiges Caching.

    Gruß
    Roman

    Antworten Teilen
  2. von marmalade am 03.04.2013 (08:32 Uhr)

    Hallo Roman,

    nun, OXID wird ja eben nicht zum führenden System für die Inhalte, sondern das übernimmt das CMS im Hintergrund. Diese werden ja nur durch OXID durchgeschleust und gegebenenfalls angereichert.

    Bei entsprechender Last, da hast du natürlich vollkommen recht, sollte man entsprechend cachen - mit oder ohne TOXID. Das nimmt sich also nichts.

    Gruß Joscha

    Antworten Teilen
Deine Meinung

Bitte melde dich an!

Du musst angemeldet sein, um einen Kommentar schreiben zu können.

Jetzt anmelden

Aktuelles aus dem Bereich CMS
Hosted-CMS für Designer: Ein Blick auf Surreal
Hosted-CMS für Designer: Ein Blick auf Surreal

Mit Surreal gibt es ein Hosted-CMS, das sich vor allem an Designer richtet. Das spannendste Feature: Ihr könnt Text- oder Bildbereiche auf euren Seiten definieren und sie anschließend direkt inline … » weiterlesen

Dem Kickstarter-Erfolg auf den Zahn gefühlt: Das kann das neue CMS Webhook
Dem Kickstarter-Erfolg auf den Zahn gefühlt: Das kann das neue CMS Webhook

Auf Kickstarter war Webhook ein echter Erfolg. Jetzt ist das CMS verfügbar und wir haben für euch einen Blick darauf geworfen. » weiterlesen

Modular, modern und elegant: Wir stellen das neue CMS Pagekit vor
Modular, modern und elegant: Wir stellen das neue CMS Pagekit vor

Pagekit ist ein neues CMS, das auf Symfony Components setzt. Wir stellen es euch in einem Screencast vor. » weiterlesen

Kennst Du schon unser t3n Magazin?

t3n 37 jetzt kostenfrei probelesen! Alle Inhalte des t3n Magazins Diesen Hinweis verbergen