open-source Content-Management-System Typo3

(Archiv-Content) TYPO3 Fallstudie - XYZ-MEDIEN


(Die Studie wurde auf Kundenwunsch nachträglich anonymisiert)

Verknüpfung eines xt:Commerce-Shopsystems mit TYPO3

von Andreas von Studnitz und Dr. Erwin Lammenett

Einführung
Als Musikverlag produziert die XYZ 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.

Diese Fallstudie behandelt den Aufbau des neuen Shopsystems mit Hilfe des Open Source Shopsystems xt:Commerce. 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
Der XYZ 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 ca. xx Mitarbeiter - dazu kommen über xxx freie Autoren. Neben Zeitschriften werden auch Fachbücher, DVDs und Kalender veröffentlicht.
Die Umstellung des Webauftritts auf ein einheitliches Content Management System, das Open Source System TYPO3, bildet die Grundlage für weitere notwendige Modernisierungen. Das technisch veraltete und visuell wenig ansprechende bestehende Shopsystem sollte durch ein neues System ersetzt werden. Dabei standen folgende Punkte im Vordergrund, die im Pflichtenheft hervorgehoben wurden:

  • Geringe Umsetzungs- und Lizenzkosten
  • Ausgereiftes und professionelles Warenkorbsystem
  • Modernes, an das Layout der Verlags-Website angepasstes Design
  • Unterstützung verschiedener Produkttypen:
    o Abonnements (mit unterschiedlichen Laufzeiten und Angaben zum Werber)
    o Einzelartikel aus den verschiedenen Zeitschriften als PDF
    o Bücher, DVDs und sonstige Produkte
  • Einbindung von Kreditkarte und Bankeinzug als Zahlungsweisen für normale Produkte sowie von Micropayment für Einzelartikel
  • An die verschiedenen Produkttypen angepasste Lieferkosten
  • Automatisches Generieren von Buchtipps in den Zeitschriftenportalen. Z.B. soll beim Thema Mixen ein Mixingbuch aus dem PPV-Verlagsprogramm in einem Kasten angezeigt werden. Die Zuordnung soll über Kategorien erfolgen, in die jedes Produkt eingeordnet ist.
  • Automatisches Anzeigen von Shop-Produkten im neu zu erstellenden Kleinanzeigenmarkt und im Glossar. Zum Suchbegriff des Kunden sollen entsprechende Bücher, DVDs oder PDF-Artikel automatisch ausgegeben werden.

Auf dieser Basis wurden von verschiedenen Firmen Angebote vorgelegt. Den Zuschlag hat wieder die Aachener Internetagentur team in medias GmbH erhalten, deren Angebot auf dem Open Source Shopsystem xt:Commerce basierte. 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 Portalseiten. Außerdem konnte eine kurzfristige Umsetzung innerhalb von zwei Monaten garantiert werden.

Das Projekt
Das Kernprojektteam bestand aus Ralf Willke, der als freier Mitarbeiter des Verlages für das Pflichtenheft verantwortlich war und das Projekt für den Verlag geleitet hat, und verschiedenen Mitarbeitern der Aachener Internetagentur team in medias GmbH.

Auswahlprozess
Da team in medias bereits mehrere Projekte mit dem Open Source Shopsystem xt:Commerce (www.xt-commerce.com) 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:

  • Ausgereiftes Warenkorb-System
  • Einstellen von Produkten in beliebig verschachtelten Kategorien
  • Viele Features wie Staffelpreise, Sonderangebote, Bestsellerlisten, Kommentare, Gutschein-Funktion, Newsletter, …
  • Unterstützung verschiedener Zahlungs- und Versandmodule
  • Keine Lizenzkosten und offener Quellcode dank Open Source Lizenz
  • Freie Verfügbarkeit von vielen Erweiterungen und Modulen. Nach geringen Anpassungen sind auch osCommerce-Module nutzbar.
  • Schneller Support durch aktive Entwicklergemeinde
  • SSL-Unterstützung
  • Integrierter Cache

Die Umsetzung
1. Das Shopsystem
Die Umsetzung des eigentlichen Shopsystems ist ein Standard-Prozess, der sich kaum von anderen Projekten unterscheidet. Dennoch mussten einige Erweiterungen und Anpassungen des Shopsystems vorgenommen werden:

  • Aufnahme zusätzlicher Datenbankfelder wie beispielsweise der ISBN für Fachbücher.
  • Integration einer Kategorisierung für die Produkte des Verlags. Jedes Produkt kann bis zu zwei Kategorien (z.B. "Schlagzeug", "Veranstaltungstechnik", …) zugeordnet werden.
  • Integration der verpflichtenden Angabe eines Werbers bei Abschluss eines Prämien-Abonnements.
  • Erweiterung des Systems um eine Autorendatenbank. Hierzu wurde die vorhandene und nicht benötigte Hersteller-Datenbank verwendet und entsprechend angepasst.
  • Erstellung eines neuen Versandkosten-Moduls, das die relativ komplexe Versandkostenstruktur des Verlags abbildet. Die Versandkosten sind dabei abhängig von der Anzahl der bestellten Bücher, der Gesamtsumme für Bücher, der Gesamtsumme für andere Produkte sowie von abgeschlossenen Abonnements, die für unterschiedliche Zeitschriften auch unterschiedliche Liefergebühren kosten. Und natürlich berechnen sich die Liefergebühren anders, wenn die Lieferung an eine Auslandsadresse gehen soll.
  • Anpassung des Backends zur Verwaltung der obigen Punkte.


2. Die Artikeldatenbank
Der zweite Teil ist die Umsetzung der Artikeldatenbank. Zurzeit befinden sich aktuelle Artikel von 5 verschiedenen Zeitschriften online, insgesamt mehrere hundert Einzelartikel. Aufgabe war es, eine Möglichkeit 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 Click&Buy, durchzuführen. Click&Buy 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 Click&Buy registrieren. Fortan kann er mit Click&Buy 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 in den xt:Commerce-Shop integriert. Diese Entscheidung 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" angelegt. Wenn ein Artikel angelegt oder bearbeitet wird, erhält der Redakteur eine, im Gegensatz zu "normalen" Produkten, modifizierte Eingabemaske.

typo3 Eingabemaske
Abbildung 1: Eingabemaske Einzelartikel

Beim Einstellen eines neuen Artikels wird außerdem der Preis automatisch berechnet. Dieser hängt 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 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 Einzelartikel
Abbildung 2: Ein Einzelartikel in der Übersicht

3. Verknüpfung zu externen Seiten
Teil 3 der Umsetzung befasste sich mit der Einbindung in externe Seiten. 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 die meist verkauften Produkte ganz oben.

typo3 Shop externe Seiten
Abbildung 3: Beispiel für die externe Einbindung von Shop-Produkten


Die Zuordnung kann entweder anhand der Kategorisierung erfolgen (der Redakteur kann im 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 auf den einzelnen Magazinseiten. Eine Suchmaske, ähnlich der im Shop, sollte eingebunden werden. Da die Suche nur anhand von Daten aus dem Shopsystem stattfinden kann, verweist das Formular auf eine Shop-Ergebnisseite. Diese ist allerdings 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 Click&Buy 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 nur die Artikel angezeigt, die zum jeweils gewählten Magazin gehören. Dies wird, ebenso wie die gesuchten Stichworte, per GET-Variable an das Shopsystem übergeben.

Kurzfristiger Projekterfolg
Im Anschluss an eine beim Verlag durchgeführte Redakteursschulung wurde das Shopsystem zwei Tage später freigeschaltet. Bereits kurz nach der Einführung wurde klar, dass das neue Shopsystem von den Kunden wesentlich besser angenommen wurde. Bereits nach zwei Wochen konnte festgestellt werden, dass sich der Umsatz des Shops im Vergleich zum Vorjahreszeitraum deutlich gesteigert hatte.

Fertigstellungszeitraum
Das Projekt wurde innerhalb eines engen Zeitrahmens von 6 Wochen abgeschlossen. Eine Redakteursschulung wurde gegen Ende des Projekts durchgeführt.

Herausforderungen
Wie weiter oben beschrieben, sollte es möglich sein, von externen Seiten, die mit dem 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 eine Lösung mittels PHP-Include angestrebt. Vom Shopsystem wird ein entsprechender Code-Schnipsel angeboten, der dann direkt von beliebigen Websites 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 besonders wichtig, da diese Funktion auf unterschiedlichen Magazin-Seiten sowie dem Kleinanzeigenmarkt eingebunden werden sollte, die jeweils unterschiedliche Layouts benutzen.
Hierfür wurde 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 Shop-Datenbank nach passenden Produkten - sortiert nach Verkaufsrang. Diese Produkte werden in vorgegebener, aber unformatierter Form als Quellcode bereitgestellt, die dann im externen Seitenlayout dargestellt werden. Einen Hinweis, dass die Produkte von einer anderen Website stammen, gibt es dabei nicht, sodass ein Besucher nichts davon mitbekommt.

Eine entsprechende URL, die in TYPO3 eingebunden wird, sieht beispielsweise wie folgt aus:

http://shop.BEISPIEL.de/search.php?
keywords=Yamaha&category_id=56&max=10&products_type=Book,Article&
show_price=1&show_image=1&show_author=1&show_magazine=1

Die einzelnen Parameter erklären sich wie folgt:

  • keywords:
    Ein oder mehrere Schlüsselwörter, nach denen gesucht wird.
    Über Schlüsselwörter gefundene Produkte haben 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 Kommata getrennt können auch mehrere Kategorien angegeben werden.
  • max:
    Die maximale Anzahl angezeigter Produkte
  • products_id:
    Wenn direkt bestimmte Produkte ausgegeben werden sollen, können diese direkt über die Produkt-ID angegeben werden, mehrere werden durch Kommata getrennt.
  • products_type:
    Book, Article oder DVD, oder durch Kommata getrennt auch mehrere.
  • show_price:
    Wenn dieses Attribut 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 für Zeitschrifteninformationen (Zeitschriftenname, Ausgabe, Seite)
  • magazine_id:
    Wenn angegeben, Einschränkung auf die Artikel einer bestimmten Zeitschrift.

Durch die große Anzahl Parameter ist es möglich, die Ausgabe an verschiedenste Bedürfnisse anzupassen. Diese Flexibilität macht es möglich das Skript für unterschiedliche Verwendungszwecke einzusetzen.

Ein ähnliches Modul wird auch 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 für die xt:Commerce-Funktion sind dabei bis auf Schlüsselwort und Kategorie festgelegt und in einer Konfigurationsdatei festgeschrieben. Keywords 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 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 kleinanzeigen
Abbildung 4: Produktvorschläge im Kleinanzeigenmarkt

Autoren:
Andreas von Studnitz, www.typo3-macher.de
Dr. Erwin Lammenett, www.inmedias.de

Quick Referenz

News

25.01.20122501

TYPO3 Akademie, München

Kurz notiert: Zum fünften Mal findet im Februar die TYPO3 Akademie in München statt. Unser Geschäftsführer Dr. Erwin Lammenett wird dort zum Thema "Die Veränderung von SEO in Zeiten von Google Universal Search" vortragen. 

03.01.20120301

Raumbuchungssystem Extension

Unsere TYPO3 Raumbuchungs-Extension ermöglicht die komfortable Verwaltung und Buchung Konferenzräumen, Besprechungsräumen, Schulungsräumen oder Fahrzeugen. Details zu dieser spannenden Extension erfahren Sie hier: Raumbuchungssystem.

07.11.20110711

Kongress Klinik Marketing 2011

Vortrag unseres Geschäftsführers Dr. Erwin Lammenett beim Kongressforum am 23.11.2011 zum Thema "Die perfekte Klinikwebsite".
Ein Internetauftritt gehört mittlerweile auch für Krankenhäuser
zum Must-have. Aber worauf kommt es wirklich an? Welche Erwartungen
haben Patienten, was ist beim Design zu berücksichtigen?
Und wie wird der Webauftritt zum Akquiseinstrument?

18.10.20111810

TYPO3, Oracle und SAP

Das OpenSource CMS TYPO3, Oracle und SAP in einem Projekt - noch vor wenigen Jahren war dies undenkbar. Der Stromversorger energieGUT setzt auf OpenSource in Kombination mit kommerziellen Technologien.  

19.08.20111908

Sieben auf einen Streich - TYPO3 macht es möglich

Gleich sieben neue Webseiten veröffentlichte die caverion Gruppe mit einem einzigen Content-Management-System (CMS). Hierbei setzte caverion auf TYPO3, einem in Deutschland sehr häufig verwendeten Open Source CMS und beauftragte für den Relaunch die Aachen-Hamburger Internetagentur team in medias GmbH.

Copyright by team in medias GmbH

Kontaktieren Sie uns

Wenn Sie die Zahlen nicht lesen können, bitte hier klicken.CAPTCHA Bild zum Spamschutz
Pascalstraße 15
52076 Aachen

Tel:   0241   / 412 59 79 0
Fax: 02408 / 71 99 85
Flughafenstraße 52
22335 Hamburg

Tel:   040    / 181 919 15
Fax: 02408 / 71 99 85

QR-Code

qr-code