Erfolgreiches Zusammenspiel zwischen CMS und Online-Shop: TYPO3 und xt:Commerce
Als Musikverlag
produziert die PPV Medien GmbH sowohl Zeitschriften zu verschiedenen
Musik-Themen als auch DVDs, Fachbücher, Kalender und
Sonderausgaben. Im Zuge der Neuausrichtung des Internetangebots des
Verlags wurde bereits im ersten Halbjahr 2005 ein Relaunch der
Website des Verlags und der 11 Zeitschriften-Portale durchgeführt [1].
Die Umstellung
des Webauftritts auf ein einheitliches ContentManagement-System, das
Open-Source-CMS TYPO3, bildet die Grundlage für weitere
notwendige Modernisierungen. Das technisch veraltete und visuell
wenig ansprechende bestehende Shopsystem sollte durch ein neues
ersetzt werden. Wichtige Kriterien für die Auswahl eines
Shopsystems waren niedrige Anschaffungskosten, guter Support und
flexible Erweiterungsmöglichkeiten. Die Wahl fiel auf das
Open-Source-System xt:Commerce [2], den Nachfolger des bekannten osCommerce, das allerdings seit 2003 nicht mehr weiterentwickelt
wird. Beide basieren auf PHP und MySQL und bieten ein ausgereiftes
Warenkorbsystem sowie eine Vielzahl von Erweiterungen. Neu bei
xt:Commerce ist das Smarty-basierte Template-System.
Eine andere mögliche Lösung
wäre die Umsetzung mit der TYPO3-Shop-Extension gewesen. Nach
Analyse beider Möglichkeiten stand jedoch fest, dass xt:Commerce
die weit bessere E-Commerce-Engine darstellt. Auf das neue
TYPO3-Shopsystem konnte aus Termingründen nicht gewartet werden.
Gegenüber
der Standardinstallation von xt:Commerce wurden im vorliegenden
Beispiel einige Änderungen und Erweiterungen durchgeführt. Die wichtigsten betreffen die Einrichtung einer Autorendatenbank
sowie die Entwicklung einer Kategorisierung der Produkte, um die
Zuordnung von Schlagworten und die Einführung verschiedener
Produkttypen wie Buch, DVD oder Abonnement realisieren zu können. Die Projektleitung des Verlags stellte ein Pflichtenheft zur
Verfügung, das eine termingerechte und effiziente
Auftragsbearbeitung ermöglichte.
Verknüpfung mit TYPO3
Die
Idee hinter der Verknüpfung ist, über ein vorgegebenes
Schlüsselwort oder eine Kategorie thematisch passende Produkte
aus dem Online-Shop an einer beliebigen Stelle der TYPO3-basierten
Website ausgeben zu können. Eine direkte technische Verbindung
zum Shopsystem ist dabei aber keine Bedingung. Da es üblicherweise
nicht möglich ist, von einer beliebigen Website auf die
SQL-Datenbank des Shops zu verweisen, wurde eine Lösung mittels
PHP-Include und http-Requests angestrebt. Vom Shopsystem wird dabei
ein entsprechender Code-Schnipsel angeboten, der dann direkt in
beliebige Websites eingebunden werden kann. Der Code ist mit CSS
formatiert, wodurch das Layout innerhalb der jeweiligen TYPO3-Seite
bestimmt werden kann. Dies war besonders wichtig, um diese Funktion
auf diversen Magazin-Seiten sowie dem Kleinanzeigenmarkt einzubinden,
die jeweils unterschiedliche Layouts benutzen.
Hierfür
wurde eine Kopie der Suchfunktion in xt:Commerce verwendet. Die
entsprechenden Suchkriterien werden von der externen Website
vorgegeben und als GET-Variablen an die URL übergeben.
Die Suchfunktion wertet die übergebenen
Variablen aus und durchsucht die Shop-Datenbank nach passenden
Produkten – sortiert nach Verkaufsrang. Das Suchergebnis wird als
unformatierter Quellcode bereitgestellt, der dann im externen
Seitenlayout dargestellt wird. Einen Hinweis, dass die Produkte von
einer anderen Website stammen, gibt es dabei nicht, sodass ein
Besucher davon nichts mitbekommt. Eine solche URL, die von TYPO3
aufgerufen wird, sieht beispielsweise wie folgt aus:
http://shop.musik-macher.de/search.php?keywords=Yamaha &category_id=56,58&max=10&products_type=Book,Article &show_price=1&show_image=1&show_author=0&show_magazine=0 &show_name=0
Listing 1
Die
einzelnen Parameter der URL:
- products_id:
Wenn bestimmte Produkte direkt ausgegeben werden sollen, können
sie über die Produkt-ID angegeben werden; mehrere werden durch
Kommata getrennt. - keywords:
ein oder mehrere Schlüsselwörter, nach denen gesucht wird.
Über Schlüsselwörter gefundene Produkte haben Vorrang
vor Produkten, die über Kategorien gefunden wurden. - category_id:
die Kategorie, aus denen weitere Produkte stammen sollen. Die
hierüber gefundenen Produkte haben zweite Priorität. Durch
Kommata getrennt können mehrere Kategorien angegeben werden. - max:
Die maximale Anzahl Produkte, die angezeigt werden soll. - products_type:
der Produkttyp, zum Beispiel Book, Article
oder DVD. Mehrere Produkttypen können durch Kommata getrennt
angegeben werden. - show_price:
Wenn dieses Attribut gesetzt ist, wird der Preis des Produkts
ebenfalls angezeigt. - show_image:
Dieses Attribut schaltet die Produktbildanzeige ein. - show_author:
Der Autor eines Buches oder eines Artikels wird mit show_author
angezeigt. - show_magazine:
Zeitschrifteninformationen, wie Zeitschriftenname, die Ausgabe und
die Seite werden mit diesem Attribut gesetzt. - show_name:
Der Titel des Buchs oder Produkts wird durch das Attribut show_name
angezeigt. - magazine_id:
Die magazine_id schränkt die Suche auf Artikel einer bestimmten
Zeitschrift ein.
Durch die große Anzahl
von Parametern ist es möglich, die Ausgabe an verschiedene
Anforderungen anzupassen. Diese Flexibilität ermöglicht
es, das Skript hinter der Suchfunktion für
unterschiedliche Zwecke einzusetzen.
TYPO3-Backend
Die
Produktanzeige ist als Modul in TYPO3 eingebunden. Auf beliebigen
Zeitschriftenseiten kann man ein entsprechendes Anzeigeelement
einfügen, das die oben angegebenen Optionen verwaltet. Ein
ähnliches Modul wird auch für den Kleinanzeigenmarkt und
das Glossar verwendet. Auf der
xt:Commerce-Seite wird das gleiche flexible PHP-Skript eingesetzt. In
TYPO3 wird ein Plugin des neu entwickelten Moduls „ClassifiedAds“
eingesetzt. Die Parameter für die xt:Commerce-Funktion
sind dabei bis auf Schlüsselwort und Kategorie in einer
Konfigurationsdatei festgeschrieben. Schlüsselworte und
Kategorien werden durch die Eingabe des Kunden vorgegeben. Dies
bietet sich an, da diese Daten auch bei der Suche nach Kleinanzeigen
verwendet werden. Der Kunde bekommt somit zu seinem Suchbegriff
passende Buchtipps angezeigt.
Micropayment
Einer dieser Produkttypen ist der
Einzelartikel. Als Verlag betreiben die PPV Medien ein Dutzend
eigener Zeitschriften. Die jeweiligen Artikel werden online als
PDF-Dateien zum Einzelkauf angeboten. Obwohl xt:Commerce die
Möglichkeit bietet, Produkte zum Download anzubieten, wurde
darauf verzichtet, da es sich nicht lohnt, Kleinstbeträge von
teilweise unter einem Euro per Lastschrift oder Kreditkarte
einzuziehen. Stattdessen wurde die Warenkorb-Funktionalität des
Shops für Einzelartikel deaktiviert und eine Bezahlmöglichkeit
per Micropayment eingesetzt. Über einen
Link wird der interessierte Besucher zum Anbieter Firstgate Click&Buy [3] weitergeleitet. Hat der Besucher noch keinen Firstgate Account,
kann er sofort einen anlegen. Wenn
der Besucher die Zahlung des Betrags bestätigt, wird er zur
gewünschten PDF-Datei weitergeleitet, die er lesen, abspeichern
oder drucken kann. Der Kaufbetrag wird zum Monatsende abgebucht, die
Zahlungsweise kann zuvor bei Firstgate angegeben werden.
Erfolge
Der Hauptgrund für den Relaunch
des Shopsystems mit xt:Commerce war eine angepeilte Steigerung der
Online-Verkäufe. Dafür wurde neben dem neuen, an die
Verlags-Website angelehnten Design vor allem die
Benutzerfreundlichkeit des Shops
verbessert. Gleichzeitig wurde die Struktur der Website verändert.
Während vorher auf der prominenten Verlagswebsite
www.ppvmedien.de redaktionelle Inhalte zum Verlag zu finden waren,
befindet sich dort nun
der Online-Shop.
Bereits kurz nach der Onlineschaltung
des neuen Shops im November 2005 konnten erste Erfolge verzeichnet
werden. Bei der Analyse der Verkaufszahlen im Vergleich zum Vorjahr
wurden deutlich messbare Erfolge festgestellt.
Besonders gefragt waren dabei die Abo-Angebote für Zeitschriften
des Verlags. Auch die Artikeldatenbank, die erstmals Anfang Dezember
freigeschaltet wurde, wird seitdem rege genutzt und übertrifft
die Erwartungen des Verlags.
Noch einmal deutlich gestiegen sind
die Umsätze seit der Einrichtung der Verknüpfungen zu
TYPO3. Dies ist anhand der ausführlichen Statistikfunktionen des
Shops direkt ablesbar. Die meisten Käufe werden zwar immer noch
direkt über das Shopsystem getätigt, dennoch lässt
sich klar erkennen, dass die Links zum
Shopsystem gerne und häufig genutzt werden. Dies hängt vor
allem damit zusammen, dass zur eigenen Suchanfrage direkt passende
Produkte und Einzelartikel angeboten werden.
Fazit
Wie das vorliegende Beispiel zeigt,
müssen sich Web- und Shopsystem zum Datenaustausch nicht auf dem
gleichen Server befinden. Bereits über einfache http-GET-Aufrufe
ist ein umfangreicher Datenaustausch möglich. TYPO3 bietet
vielfältige Möglichkeiten, wie eine entsprechende
Anforderung an das Shopsystem erzeugt werden kann – statisch über
das Backend oder dynamisch, basierend auf Benutzereingaben. Durch
so gesteuertes Cross-Selling ergeben sich vielfältige neue
Möglichkeiten für die prominente Platzierung von Produkten
aus dem Shop-System – inhaltlich passend zu den betrachteten
Inhalten.