wt_cart wird zu cart – die neue all inclusive TYPO3-Shop-Lösung? Teil 1/2

Daniel Lorenz und Björn Jacob haben uns mehr zu ihrer jungen TYPO3-Shop-Lösung "cart" erzählt.

Um unsere Vorstellungs-Reihe von TYPO3-Shoplösungen abzuschließen, haben wir heute ein ganz besonderes Bonbon für Euch – aktuell gleichzeitig Geheimtipp und Trend für TYPO3 Shop-Lösungen: cart. Wir haben mit den Entwicklern Daniel Lorenz und Björn Jacob (TRITUM) telefoniert und uns alles erzählen lassen, was es über die junge Shop-Extension zu wissen gibt. Und eines können wir schon jetzt verraten: Sie hat es in sich! 

Deshalb berichten wir auch gleich in zwei News-Artikeln über cart, den großen Bruder von „wt_cart“, die vielleicht einigen noch im Gedächtnis ist. Heute geht es erst um die Hintergründe, wie aus wt_cart cart wurde und was sich alles verändert hat. Nächste Woche nehmen wir cart dann genauer unter die Lupe, schauen uns Features und Besonderheiten an und geben einen Ausblick, wie es mit der Extension weitergeht. 

 

Doch zunächst ein paar kurze Worte zu unseren Interviewpartnern:

Daniel Lorenz ist der programmierende Kopf hinter cart. Anregungen für Features und die Weiterentwicklung bekommt er aus vielen unterschiedlichen Kundenprojekten, aber auch von Björn Jacob, Innovationsmanager und technischer Geschäftsführer bei TRITUM. Beide, insbesondere Daniel, haben schon hunderte Stunden ihrer Freizeit in das Projekt investiert und können wirklich stolz auf das bisherige Ergebnis sein. Und wir danken ihnen ganz herzlich, dass sie sich sehr lange Zeit genommen haben, um uns alles über cart zu erzählen. 

 

Der Vorgänger: wt_cart als kleiner Allesfresser

Kennt Ihr noch wt_cart? Die kleine aber feine Shop-Extension wurde aus einem Kundenprojekt heraus von Daniel Lorenz und Björn Jacob in Zusammenarbeit mit Alex Kellner (in2code) im Jahr 2010 entwickelt und war lange der flexible Alleskönner für kleine TYPO3-Shop-Lösungen. Basierend auf powermail machte auch diese Extension schon eine recht steile Karriere, weil sie eben deutlich einfacher war als komplexe Lösungen wie beispielsweise commerce oder tt_products.

Dabei, so klärt Björn uns auf, wurde wt_cart eigentlich von Vielen verkannt. Ziel war es gar nicht, eine komplette und komplexe TYPO3-Shop-Lösung zu entwickeln, sondern – wie der Name schon verrät – nur einen Warenkorb, der alles nimmt, was man ihm gibt. Dieser „Allesfresser“ konnte in Kombination mit einer eigenen Extension oder ein paar Änderungen an einer Bestehenden wirklich beinahe alles – vom News Artikel über beliebige Datensätze bis hin zu Produkten aus der Erweiterung wt_cart_product – aufnehmen und eine entsprechende Bestellung an den Shop-Betreiber verschicken. 

 

Wie aus wt_cart „cart“ wurde

Doch dann kamen, wie so oft, die Kundenwünsche, und so wuchs wt_cart zu einem regelrechten Extension-Universum mit vielen verschiedenen Erweiterungen an. Das sorgte für mehr Funktionsvielfalt, aber auch für Kleinteiligkeit und viel Arbeit beim Aufsetzen eines Shops. Außerdem gab es noch zwei weitere Probleme bei der Weiterentwicklung von wt_cart.

Zum einen war da die komplette Abhängigkeit von powermail im Checkout-Prozess. Sobald eine neue powermail-Version veröffentlicht wurde, musste auch wt_cart angepasst werden, und da das powermail-Team sehr aktiv in der Weiterentwicklung war, hieß das eine Menge Anpassungsarbeit. Doch das Aus für wt_cart kam spätestens 2012 mit dem neuen Gesetz zum Schutz vor Kostenfallen im Netz. Seitdem musste der Button zur Bestellung in einem Webshop in direkter Nähe zu den entstehenden Kosten platziert sein.

Genauer (Gesetzesbegründung vom 16.11.2011 (S. 10 – 11)):

“Die Aufmerksamkeit des Verbrauchers, der im Begriff ist, die Schaltfläche zu betätigen, soll sich auch auf diese Informationen richten, ohne dass trennende Gestaltungselemente davon ablenken oder den Eindruck erwecken, zwischen den Vertragsinformationen und der Bestellschaltfläche bestünde kein innerer sachlicher Zusammenhang.“

Doch genau das war mit wt_cart nicht möglich, oder zumindest nur mit Hilfe von vielen JavaScript- und CSS-Anpassungen, die nicht im Sinne einer einfachen und vor allem stabilen Shop-Lösung sind.

All diese Probleme und Schwierigkeiten führten schließlich Ende 2015 zu einer schwerwiegenden Entscheidung von Daniel und Björn: Auf den bestehenden Code von wt_cart aufzubauen wäre nicht zielführend. Deshalb entschlossen sich die beiden, erneut angestoßen durch ein Kundenprojekt, die Extension noch einmal komplett auf neue Füße zu stellen. Viele Funktionen von wt_cart wurden in cart übernommen, aber nicht mehr mit einem eigenen MVC Ansatz, sondern extbase und fluid umgesetzt. Es verschwand das „wt“ und „Cart“ entstand.

 

Wt_cart wird zu cart

Das ist cart - Komplexe Shop Extension statt nur Warenkorb

Sobald der Entschluss erst einmal gefasst war, kniete Daniel sich auch gleich – „TYPO3-typisch mit hunderten Stunden Arbeit und voller Energie“, wie Björn berichtet – in das Projekt. Statt Abhängigkeit von powermail wartet cart mit einem übersichtlichen One Step Checkout auf. Auch viele Erweiterungen, die bei wt_cart noch ausgelagert waren, bringt die neue Extension gleich mit, zum Beispiel eine integrierte Produkttabelle. Zwar kann man immer noch eigene Produkttabellen anbinden, die interne Tabelle kann in „Standardprojekten“ aber viel Arbeit sparen. Auch können Bestellungen jetzt im Backend über ein eigenes Modul überprüft werden und die Generierung von Rechnungs- und Lieferscheinen ist möglich. Dabei ist cart komplett unabhängig und – das ist vielleicht das Beeindruckendste – unterstützt alle drei aktuellen TYPO3 Versionen (v6.x, v7.x und v8.x).

Mehr zur Funktionsvielfalt gibt es im zweiten Teil. Hier sei nur schon so viel verraten: cart ist längst kein kleiner Warenkorb mehr, sondern eine umfangreiche und schnell wachsende Shop-Extension, die in Zukunft wohl sogar ein Magento bei einem Kunden von TRITUM ablösen soll. Zwar ist cart immer noch ein „Allesfresser“, der viele unterschiedliche Datentypen verarbeiten kann, aber es kann eben noch viel mehr. Was genau? Das erfahrt Ihr nächste Woche.