commerce

Die lang erwartete TYPO3 Extension „commerce“ steht kurz vor der Veröffentlichung

Es ist dabei gelungen, ein flexibles, voll in das TYPO3 Framework integriertes System zu schaffen, welches sich an vorhandene Abläufe und Systeme anpassen lässt.Die Herausforderung für das Team lag hierbei darin, die Anforderungen an ein komplexes Shop-System mit dem TYPO3-Framework abzubilden. Hierzu gehörten insbesondere die Nutzung der vorhandenen Mechanismen für Nutzerberechtigung, Lokalisierung und der Standardmethoden aus dem TYPO3-Framework. Dennoch konnten nicht alle benötigten Funktionen mit TYPO3-Bordmitteln umgesetzt werden, sodass zur Lösung einiger Detail-Anforderungen neue Module erfunden werden mussten.

Darstellung der Produkte im eigenen Kategoriebaum

Produkte werden in„commerce“ in einem eigenen Baum abgelegt. Hierdurch ist eine klare Trennung von Inhalten und Waren allein über das verwendete Modul gewährleistet und für Redakteure deutlich. Einzelne Produktbäume werden dann durch das Einfügen über ein Plugin in die vorhandene TYPO3-Installation integriert.

Für den Aufbau des eigenen Baumes ist in diesem Fall die „graytree-Lib“ entwickelt worden, die von Franz Holzinger gepflegt wird und schon jetzt im TYPO3-Extension-Repository verfügbar ist. Diese Bibliothek ist abstrakt gehalten, sodass sie auch in anderen Extensions genutzt werden kann. Im Gegensatz zum normalen TYPO3-Seitenbaum kann diese Extension auch Referenzen innerhalb des Baumes verarbeiten.

Erweiterte Darstellung von m:m Relationen

In„commerce“ können zu Produkten verschiedene Attribute gepflegt werden, die zum Beispiel Eigenschaften wie Maße oder das Gewicht eines Artikels beschreiben. Da die Zahl dieser Attribute von Produkt zu Produkt verschieden sein kann, musste ein Weg gefunden werden, die Darstellung im TYPO3-Backend flexibel zu gestalten. Hier kommt die von Thomas Hempel entwickelte Extension „Dynamic Flexforms“ zum Einsatz (siehe T3N Magazin 02/2005, Seite 36).

Parallelle Ablage in relationalen Datenbankmodellen und XML-Datenstrukturen

TYPO3 legt komplexe Datenstrukturen in XML-Feldern ab, die dann beim Darstellen der Inhalte wieder in eine Datenstruktur gewandelt werden. Diese Datenstrukturen liegen dann zur Laufzeit nur in Form von PHP-Variablen vor. Da„commerce“ die Frontend-Darstellung von mehreren Datensätzen abhängig macht und hier wiederum Datenstrukturen abgefragt werden, wäre das Abfragen und Auswerten der XML-Daten sehr zeitaufwendig und unflexibel gewesen. Stattdessen schreibt„commerce“ die Daten sowohl TYPO3-konform in XML-Datenstrukturen als auch in ein relationales Datenbankmodell. Von Anfang an wurde bei der Entwicklung auf ein klares Objekt-Modell geachtet. Dieses stellt dank konsequenter Nutzung der objektorientierten Programmierung, eine durchdachte API für die interne Programmierung und damit auch für Erweiterungen zur Verfügung. Zusätzlich zu der Erweiterung durch das Ableiten von Klassen (XCLASS) sind in das System einige Hooks integriert worden, die eine besonders leichte Anpassung der Extension an spezielle Gegebenheiten bieten sollen.

Zahungssysteme und Preismodelle

Auch bei der Integration der Bezahlsysteme wurde auf Flexibilität geachtet. So lassen sich beliebige interne und externe Bezahlsysteme in „commerce“ integrieren.Beispielhaft implementiert sind bereits eine XML-Schnittstelle für die Bezahlung per Kreditkarte und Lastschrift bei Wirecard sowie die Bezahlung direkt auf der Webseite von Barclaycard. Alle Bezahlarten lassen sich über Standard TYPO3-Berechtigungen gruppenspezifisch ein- und ausblenden, sodass zum Beispiel eine Bezahlung per Rechnung nur für Bestandskunden möglich sein kann. Gleiches gilt auch für die Preise. Jedem Artikel können beliebig viele Preise zugeordnet werden. So lassen sich Sonderangebote oder Händlerpreise individuell abbilden. Auch spezielle Firmenangebote können auf diese Weise zum Beispiel mit Hilfe des TYPO3-Authentication-Service abgebildet werden. Unter den bereits laufenden Seiten wurde dies für Firmenkunden, welche über eine bestimmte IP auf die Seite kommen bereits implementiert. Spezielle Angebote für die Mitarbeiter verschiedener großer Unternehmen durch Kooperationsverträge sind auf diese Weise ebenfalls einfach zu realisieren.

Ausblick

„Commerce“ ist derzeit schon in einigen Installationen im Live-Betrieb im Einsatz, und hat bereits seinen stabilen und unproblematischen Betrieb unter Beweis stellen können. Das Team hat Mitte Februar mit einem „Feature Freeze“ die definitiven Funktionen für den ersten Release festgelegt, und konzentriert sich derzeit auf Test und Dokumentation des momentanen Funktionsumfangs. Doch die Entwicklung ist damit noch lange nicht beendet. Viele Ideen und Konzepte sind bereits auf der Roadmap, die es umzusetzen gilt. Hier wird noch die tatkräftige Mithilfe von Programmierern, die einzelne Punkte umsetzen können, und von Sponsoren gesucht, die das Projektteam bei der Entwicklung unterstützen möchten.

Beispiel www.surf0800.de

Der Onlineshop von surf0800 ist eine der ersten Implementierungen von„commerce“. Durch die Nähe zu den Entwicklern der Marketing Factory Consulting GmbH konnte hier das System schon im Beta-Stadium genutzt und weiter entwickelt werden. Surf0800 bietet in seinem Onlineshop Elektroartikel von Computern über Hifi bis zu Waschmaschinen an. Zunächst ist dort mit einer angepassten Version von tt_products gearbeitet worden, bis das Auftragsvolumen und die Zahl der Artikel nicht mehr sinnvoll bearbeitbar waren. Besonders wichtig für den reibungslosen Übergang von „tt_products“ zu„commerce“ war, dass Produkte nicht doppelt angelegt werden sollten. In Zusammenarbeit mit Franz Holzinger wurde hier binnen weniger Tage ein Importer für „tt_products“ geschrieben und anschließend im Live-Betrieb eingesetzt.

Fazit

Der Einsatz von„commerce“ bei Surf0800 läuft stabil und problemlos. Das übersichtliche Backend führte zudem zu einer deutlichen Reduzierung des Supports für die Redakteure, die unabhängig voneinander das System pflegen.

Thomas Faisst, surf0800 GmbH: „Die Erweiterung„commerce“ hat insbesondere durch die automatische Verarbeitung der Bestellung den Zeitaufwand für die tägliche Bearbeitung deutlich gesenkt. Wir sind so in der Lage uns wieder auf die Vermarktung unserer Produkte zu konzentrieren.“

- Anzeige-

Dieser Artikel stammt aus:

 

Weitere Artikel dieser Ausgabe

4.5 worth of usabililty, please

Crammed in between a representative of disillusioned french youth and a too-much-wine-drinking... »

Asterisk

Eine moderne Softwaretelefonanlage

Über 100 Jahre lang tat das analoge Telefon solide seinen Dienst, bis es Anfang der 90er... »

Barrierefreiheit in der Praxis

Das Thema Barrierefreiheit ist präsenter als je zuvor und auch TYPO3 hat sich besonders... »

Barrieren ausgestochen

Am 9. Dezember wurden in Potsdam die BIENE-Awards 2005 verliehen

Über 300 Websites hatten sich für den bedeutendsten Preis für barrierefreies... »

Das Netzwerk beim Netzwerk

OTRS im Einsatz bei openBC

Die weltweite Internetplattform für Businesskontakte openBC setzt im Support vollständig... »

Direct Mail

Newsletter-Versand mit TYPO3 Teil 2

Nachdem im ersten Teil des Workshops in der letzten Ausgabe des T3N Magazin die Grundlagen von... »

Extension Coordination Team (ECT)

Im TYPO3 Extension Repository befinden sich inzwischen über 1.000 Erweiterungen für... »

Firefox im Eigenbau

Schlank, schnell und sicher

Firefox ist mehr als nur ein Browser zum Surfen. Das Programm bietet viele kleine, oft versteckte... »

Großer Schritt für große Helfer

Asterisk im Einsatz bei der Evangelischen Stadtmission Kiel

Als Ersatz für eine herkömmliche Telefonanlage hat sich die Ev. Stadtmission Kiel... »