Umfassende Fallstudie zur Vernetzung von xt:Commerce und TYPO3. Bitte beachten Sie unsere Sonderseiten zu xt-Commerce.
Die Fallstudie wurde auf Kundenwunsch nachträglich anonymisiert. Zögern Sie daher bitte nicht, uns anzusprechen, wenn Sie weiterführende Informationen zum Thema wünschen.
Einführung - TYPO3 und xt:Commerce im Verlagseinsatz
Der Kunde ist ein Musikverlag der sowohl Zeitschriften zu verschiedenen Musik-Themen als auch DVDs, Fachbücher, Kalender und Sonderausgaben produziert und vertreibt. 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 auf TYPO3 Basis durchgeführt.
Diese TYPO3 Fallstudie behandelt den Aufbau des neuen Shopsystems mit Hilfe des OpenSource-Shopsystems xt:Commerce mit dem Content Management System TYPO3. Der Schwerpunkt des Berichtes ist die Verzahnung der Shop-Inhalte mit technisch unabhängigen Websites wie den Zeitschriften-Portalen (in TYPO3) oder dem ebenfalls neu entwickelten Kleinanzeigenmarkt (als TYPO3-Modul). Diese „plattformübergreifende“ Verzahnung erlaubt es somit, nicht nur ein Shopsystem (mit xt:Commerce) und ein TYPO3-Web parallel zu betreiben, sondern auch die jeweiligen Inhalte zu verknüpfen. Produkte des Shops werden somit an beliebiger Stelle innerhalb der Website angezeigt, auch ohne dass sich TYPO3 und xt:Commerce auf demselben Webserver befinden. Der Zugriff auf xt:Commerce von TYPO3 aus, ist dank entsprechender Parameter sehr flexibel möglich.
Der Verlag setzt auf TYPO3
Der Verlag deckt ein breites Spektrum von Musikrichtungen ab, mit Fachpublikationen für den Musikbereich und verwandte technische Bereiche. Für den Verlag und das Dutzend Zeitschriften arbeiten lt. Website des Verlages zum Erstellungszeitpunkt ca. 50 Mitarbeiter – dazu kommt eine große Zahl freier Angestellter. Neben Zeitschriften werden auch Fachbücher, DVDs und Kalender veröffentlicht.
Die Umstellung des Webauftritts auf ein einheitliches Content-Management-System, das OpenSource-System TYPO3, bildet die Grundlage für weitere notwendige Modernisierungen. Das technisch veraltete und visuell wenig ansprechende bestehende Shopsystem sollte durch ein neues System auf der Basis von TYPO3 ersetzt werden. Dabei standen folgende Punkte im Vordergrund, die im Pflichtenheft vom September 2005 hervorgehoben wurden:
Auf dieser Basis wurden von verschiedenen Firmen Angebote vorgelegt. Den Zuschlag hat wieder die Aachener Internetagentur team in medias GmbH erhalten, mit der wir seit Jahren erfolgreich Kooperieren. Das Angebot basierte auf dem OpenSource-Shopsystem xt:Commerce, welches auf TYPO3 zugreift. Gründe für den Gewinn der Ausschreibung waren neben dem günstigsten Preis (xt:Commerce kostet keine Lizenzgebühren) vor allem die gute Zusammenarbeit während der Umsetzung der TYPO3 Portalseiten. Außerdem konnte eine kurzfristige Umsetzung der TYPO3 Websites innerhalb von zwei Monaten garantiert werden.
Das Projekt und die Umsetung in TYPO3
Das Kernprojektteam bestand aus einem freien Mitarbeiter des Verlages der für das Pflichtenheft verantwortlich war und das Projekt für den Verlag geleitet hat; und verschiedenen Mitarbeitern der TYPO3-Macher und der Aachener Internetagentur team in medias GmbH.
Auswahlprozess - xt:Commerce und TYPO3
Da team in medias bereits mehrere Projekte mit dem OpenSource-Shopsystem xt:Commerce (www.xt-commerce.com) und TYPO3 erfolgreich durchgeführt hat, lag die Präferenz klar auf diesem bewährten System. xt:Commerce ist Nachfolger des bekannten Shopsystems osCommerce (www.oscommerce.com), welches seit Mitte 2003 nicht mehr weiterentwickelt wird. xt:Commerce basiert ebenso wie dieses auf den verbreiteten Technologien PHP und MySQL. Der Haupt-Entwicklungsvorsprung von xt:Commerce im Gegensatz zu osCommerce besteht in der ausgereiften Template-Unterstützung auf Basis des verbreiteten Smarty-Systems. Hauptmerkmale von xt:Commerce sind:
Die Umsetzung in TYPO3
1. Das Shopsystem auf TYPO3 Basis
Die Umsetzung des eigentlichen Shopsystems ist ein Standard-Prozess, der sich kaum von anderen Projekten unterscheidet. Dennoch mussten einige Erweiterungen und Anpassungen in TYPO3 und dem Shopsystems vorgenommen werden:
2. Die Artikeldatenbank auf TYPO3 Basis
Der zweite Teil ist die Umsetzung der Artikeldatenbank in TYPO3. Zurzeit befinden sich aktuelle Artikel von 5 verschiedenen Zeitschriften online, insgesamt mehrere hundert Einzelartikel. Aufgabe war es, eine Möglichkeit in TYPO3 zum Einstellen, Kategorisieren und Verwalten der Artikel zu schaffen. Die Artikel sollten im PDF-Format zum Download angeboten werden, wobei jeder Download eine geringe Summe kostet. Um diese Kleinbeträge (ab 40 Cent) nicht über Kreditkarte oder Lastschrift abrechnen zu müssen, entschied sich der Verlag, die Abrechnung über einen Micropayment-Anbieter, in diesem Fall Firstgate (www.firstgate.de), durchzuführen. Firstgate wird von mehreren tausend Websites allein in Deutschland genutzt, darunter prominente Anbieter wie Spiegel Online (www.spiegel.de) oder der Heise Verlag (www.heise.de). Ein Kunde, der sich für einen Artikel interessiert, muss sich zunächst bei Firstgate registrieren. Fortan kann er mit Firstgate einkaufen. Die Bezahlung erfolgt üblicherweise einmal monatlich per Abbuchung von einem Konto oder von Kreditkarte. Wenn man sich einmal registriert hat, kann man ab diesem Zeitpunkt mit wenigen Mausklicks bezahlen.
Die Artikeldatenbank wurde nicht, wie ursprünglich vom Verlag vorgesehen, als separate Anwendung erstellt, sondern innerhalb von TYPO3 in den XT:Commerce-Shop integriert. Diese Entscheidung für TYPO3 ermöglichte wesentlich geringere Umsetzungskosten, da die Infrastruktur für das Einstellen und Verwalten von Produkten schon vorhanden war. Einzelartikel werden als spezieller Produkttyp „Article“ in TYPO3 angelegt. Wenn ein Artikel angelegt oder bearbeitet wird, erhält der Redakteur eine, im Gegensatz zu „normalen“ Produkten, modifizierte Eingabemaske in TYPO3.
TYPO3 Abb. 2: Eingabemaske Einzelartikel auf TYPO3 Basis
Beim Einstellen eines neuen Artikels in dem TYPO3-System wird außerdem der Preis automatisch berechnet. Dieser hängt in TYPO3 von der Seitenzahl ab, kann jedoch auch manuell geändert werden. Umgesetzt ist diese Funktionalität mit einer einfachen Javascript-Funktion.
Die Darstellung von Artikeln in der Übersicht des Shopsystems, realisiert unter TYPO3, unterscheidet sich von der Darstellung anderer Produkte. So ist es nicht möglich, eine Detailansicht zu einem Artikel aufzurufen – alle wichtigen Informationen befinden sich bereits auf der Übersichtsseite, ebenso die Möglichkeit zum Download des Artikels. Besonders wichtig: Die Funktionalität zum Einstellen in den Warenkorb wurde für den Produkttyp „Article“ deaktiviert, da sich die PDF-Dateien ausschließlich über Firstgate herunterladen lassen sollen.
TYPO3 Abb. 3: Ein Einzelartikel in der Übersicht
3. Verknüpfung zu externen Seiten realisierbar mit TYPO3
Teil 3 der Umsetzung befasste sich mit der Einbindung in externe Seiten mittels TYPO3. So sollte es z.B. auf einer der Magazinseiten möglich sein, dass zu einem Beitrag mit dem Thema „Schlagzeug“ in einer Box Produkte aus dem Shop zu eben diesem Thema angezeigt werden – direkt verlinkt zum Shopsystem. Dabei stehen in TYPO3 die meist verkauften Produkte ganz oben.
TYPO3 Abb. 4: Beispiel für die externe Einbindung von Shop-Produkten mittels TYPO3
Im obigen Beispiel sehen Sie einen Auszug aus einem Glossar welches mit TYPO3 realisiert wurde. Unter TYPO3 werden dabei automatisch zu einem eingegebenen Suchbegriff passende Produkte aus dem Shopbereich angezeigt.
Die Zuordnung kann entweder anhand der Kategorisierung erfolgen (der Redakteur kann im TYPO3 Backend der Website eine oder mehrere Kategorien wählen, die die angezeigten Produkte ebenfalls haben müssen), oder anhand von Schlagworten.
Eine zweite Anforderung war die Einbindung einer Artikel-Suchfunktion in TYPO3 auf den einzelnen Magazinseiten. Eine Suchmaske, ähnlich der im Shop, sollte in TYPO3 eingebunden werden. Da die Suche in TYPO3 nur anhand von Daten aus dem Shopsystem stattfinden kann, verweist das Formular auf eine Shop-Ergebnisseite. Diese ist allerdings in TYPO3 so modifiziert, dass sie direkt in das Layout der externen Seite eingebaut wird – der Benutzer kann nicht erkennen, dass er sich eigentlich schon im Shop-System befindet. Deutlich wird dies erst, wenn er auf einen der Artikel klickt – dann wird er in das Shopsystem weitergeleitet, wo er den Artikel über Firstgate lesen kann.
Technisch ist die Ergebnisseite vollständig in das TYPO3-Web eingebunden. Per Include-Funktion wird die speziell für diesen Zweck angepasste Such-Ergebnisseite aus dem Shop nativ in TYPO3 eingebunden. Natürlich werden in TYPO3 nur die Artikel angezeigt, die zum jeweils gewählten Magazin gehören. Dies wird, ebenso wie die gesuchten Stichworte, per GET-Variable an das n TYPO3 realisierte Shopsystem übergeben.
Kurzfristiger Projekterfolg mit TYPO3
Im Anschluss an eine beim Verlag durchgeführte Redakteursschulung wurde das Shopsystem unter TYPO3 zwei Tage später freigeschaltet. Das in TYPO3 realisierte Shopsystem war sofort erreichbar. Die vorher sich dort befindende Verlags-Homepage ist umgezogen nach auf eine neue Sub-Domain. Nach einer kurzen Einführungsphase der TYPO3 Website wurde auch die Website des alten Shopsystems auf das neue umgeleitet.
Bereits kurz nach der Einführung wurde klar, dass das neue Shopsystem auf der Basis von TYPO3 eine wesentlich bessere Kundenakzeptanz zeigte. Bereits nach zwei Wochen konnte festgestellt werden, dass sich der Umsatz des Shops im Vergleich zum Vorjahreszeitraum extrem gesteigert hatte. Besonders beliebt ist dabei der Abschluss von Abonnements, aber auch Kalender und Fachbücher werden häufig verkauft.
TYPO3 - Fertigstellungszeitraum
Das Projekt unter TYPO3 wurde innerhalb eines engen Zeitrahmens von 6 Wochen abgeschlossen. Eine Redakteursschulung wurde gegen Ende des TYPO3 Projekts durchgeführt.
Next Steps in TYPO3
Auch Teil des TYPO3 Projektes, aber nicht Inhalt dieser TYPO3 Fallstudie, ist die Einrichtung eines Kleinanzeigenmarktes und eines Glossars im TYPO3 Backend. Auch diese TYPO3 Teilprojekte wurden bis Ende 2005 fertig gestellt. Für den Kleinanzeigenmarkt wurde unter TYPO3 eine eigene Extension erstellt (ClassifiedAds), das Glossar wurde mit den TYPO3-Extensions glossarysearch und sg_glossary realisiert.
TYPO3 - Herausforderungen
Wie weiter oben beschrieben, sollte es möglich sein, von externen Seiten, die mit dem TYPO3 Shopsystem technisch nichts zu tun haben, Produkte aus xt:Commerce, jeweils thematisch passend, anzubieten. Da es üblicherweise nicht möglich ist, von einer beliebigen Website auf die SQL-Datenbank des Shops zu verweisen, wurde in TYPO3 eine Lösung mittels PHP-Include angestrebt. Vom TYPO3 Shopsystem wird ein entsprechender Code-Schnipsel angeboten, der dann direkt von beliebigen Websites in TYPO3 eingebunden werden kann. Der Code ist dabei mit aussagekräftigen CSS-Klassen versehen, sodass das Layout innerhalb der jeweiligen TYPO3-Seite bestimmt werden kann. Dies war in TYPO3 besonders wichtig, da diese Funktion auf unterschiedlichen Magazin-Seiten sowie dem in TYPO3 aufgesetzten Kleinanzeigenmarkt eingebunden werden sollte, die jeweils unterschiedliche Layouts benutzen.
Hierfür wurde unter TYPO3 eine Kopie der in xt:Commerce integrierten Suchfunktion verwendet. Die entsprechenden Suchkriterien werden also von der externen Website vorgegeben und als GET-Variable in der URL übergeben. Die Suchfunktion wertet die übergebenen Variablen aus und durchsucht die TYPO3 Shop-Datenbank nach passenden Produkten – sortiert nach Verkaufsrang. Diese Produkte werden in vorgegebener, aber unformatierter Form als Quellcode bereitgestellt, die dann im externen Seitenlayout von TYPO3 dargestellt werden. Einen Hinweis, dass die Produkte von einer anderen Website stammen, gibt es dabei nicht, sodass ein Besucher TYPO3 Frontend nichts davon mitbekommt.
Eine entsprechende URL, die in TYPO3 eingebunden wird, sieht beispielsweise wie folgt aus:
![]()
Die einzelnen Parameter erklären sich wie folgt:
- products_id: Wenn direkt bestimmte Produkte ausgegeben werden sollen, können diese direkt über die Produkt-ID in TYPO3 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 in TYPO3 Vorrang vor über Kategorien gefundenen Produkten.
- category_id: die Kategorie, aus denen weitere Produkte stammen sollen. Die hierüber gefundenen Produkte haben zweite Priorität. Durch Komma getrennt können auch mehrere Kategorien in TYPO3 angegeben werden.
- max: in TYPO3 die maximale Anzahl angezeigter Produkte
- products_type: Book, Article oder DVD, oder durch Kommata getrennt auch mehrere.
- show_price: wenn dieses Attribut in TYPO3 gesetzt ist, wird der Preis beim Produkt mit angezeigt.
- show_image: analog für die Anzeige eines Produktbildes
- show_author: analog für den Autor eines Buches oder eines Artikels
- show_magazine: analog in TYPO3 für Zeitschrifteninformationen (Zeitschriftenname, Ausgabe, Seite)
- magazine_id: wenn angegeben in TYPO3, Einschränkung auf die Artikel einer bestimmten Zeitschrift.
Durch die große Anzahl Parameter ist es in TYPO3 möglich, die Ausgabe an verschiedenste Bedürfnisse anzupassen. Diese Flexibilität macht es möglich, das Skript für unterschiedliche Verwendungszwecke einzusetzen.
Die Produktanzeige ist als Modul in TYPO3 eingebunden. Auf einer der Zeitschriftenseiten kann man ein entsprechendes Anzeigeelement einfügen, wo man auch die Optionen einstellen kann. In TYPO3 sieht dies wie folgt aus:
TYPO3 Abb. 5: TYPO3 Buchtipps
Ein ähnliches Modul wird auch in TYPO3 für den Kleinanzeigenmarkt und das Glossar verwendet. Auf xt:Commerce-Seite ist die Technik identisch, es wird das gleiche flexible PHP-Script verwendet. In TYPO3 wird ein Plugin des neu entwickelten Moduls ClassifiedAds eingesetzt.
Die Parameter in TYPO3 für die xt:Commerce-Funktion sind dabei bis auf Schlüsselwort und Kategorie festgelegt und in einer TYPO3 Konfigurationsdatei festgeschrieben. Keywords und Kategorien werden durch die Eingabe des Kunden vorgegeben. Dies bietet sich an, da diese Daten auch bei der Suche in TYPO3 nach Kleinanzeigen verwendet werden. Der Kunde bekommt mittels TYPO3 somit direkt passende Buchtipps zu seinem Suchbegriff angezeigt. Ein Beispiel sehen Sie im folgenden Screenshot. Der rechts oben angegebene Suchbegriff lautet „Piano“, und als Resultat werden im rechten unteren Bereich mehrere Buchtipps zu diesem Begriff und der angegebenen Kategorie angezeigt.
TYPO3 Abb. 6: Produktvorschläge im Kleinanzeigenmarkt - TYPO3 ClassifiedAds
Autoren:
Andreas von Studnitz, www.typo3-macher.de
Dr. Erwin Lammenett, www.inmedias.de
Weitere Typo3-Shop Referenzen: Typo3-Shop Hammergel, Typo3-Shop Feldhausverlag, Typo3-Shop team regiostrom senges