Vorträge
- Damian Luszczymak zeigte uns seine Fortschritte zur Solr-Suche in Magento, wir diskutierten ob Open-Source oder nicht - was es wohl kosten wird und ob wir mitunter ein paar Beta-Versionen erhalten
- Rouven Rieker stellte seine Erfahrungen mit dem Vertrieb von Magento Extensions vor: Wie vertreibt man sie, was benötigt man und ab wann lohnt sich das eigentlich?
- David Fuhr zeigte uns wie man mittels ANT automatisch PEAR-Pakete erzeugt
- Steffen Meuser erläuterte, abseits von Magento, wie man wirklich JavaScript entwickelt: Objektorientiert und Performant.
- Ich erläuterte noch einmal mein Vorgehen beim Magento Checkout ohne Java-Script.
Neben den Vortragenden waren zudem noch Vinai Kopp und Karl Spies dabei. Auf deren Beiträge (Magento API erweitern und Magento WaWI Kopplung mittels der API) mussten wir jedoch im Rahmen der begrenzten Zeit leider verzichten.
Ablauf
Wir begannen, mit anfänglichen Schwierigkeiten mit dem Internetanschluss der VHS-Herford, dennoch pünktlich um 10:00 Uhr. Nach einem kurzen Beschnuppern ("Ach du bist das..") ging es direkt los. Neben den Vorträgen hatten Damian und Vinai uns noch ein kleines Projekt mitgebracht. Ziel war es den Multishipping-Checkout von Magento so anzupassen das die Basis-Payment-Module dort ebenfalls funktionieren. Nach einigen Stunden Diskussionen zum Konzept, unterbrochen von Abschweifungen und Mittagessen (sehr lecker), und meinem Beitrag zum Magento Checkout hatten wir uns letztlich auf ein Vorgehen geeinigt. Bevor wir richtig programmieren konnten war die Zeit des Samstags jedoch quasi schon um: Paintball rief. Also alle in zwei Autos verteilt und losgefahren nach Paderborn in die Paintball Halle. Dann wieder zurück, wir hatten doch glatt Karl vergessen. (Peinlich..) Er war uns aber Gott sein Dank nicht böse :) Gegen 21.00 Uhr waren wir zurück in Herford wo wir uns gegen 22.00 Uhr noch einmal trafen um eine Kneipe in der Nähe zu besuchen. Dort gab es zu der Zeit sogar noch etwas richtiges zu essen - toll!
Der Sonntag war durch einige Diskussionen und Weiterentwicklung unseres Projektes bis 17.00 Uhr komplett verplant.
Das Projekt
Das Ziel bestand darin den Multishipping-Checkout so anzupassen das die Standard-Payment-Module dort einigermaßen problemlos funktionieren. Oftmals ist die Unterstützung der Module nicht gegeben da Magento beim Multishipping-Checkout je Lieferadresse eine Bestellung erzeugt. Der Kunde erhält somit je Lieferadresse eine Bestellnummer und Email. Der Workflow der Payment-Module würde es nun also erfordern das jede Bestellungen einzeln bezahlt wird. Hintergrund ist das Magento im Standard keine echte Relation zwischen allen Bestellungen speichert - das System weiß also nicht das die Bestellungen 1,2 und 3 durch einen Multishipping-Account generiert wurden. Dieses Problem haben wir grob wie folgt gelöst:
- Virtuelles Order-Model mit eigenes Nummernkreis erschaffen
- Virtuelle Order speichert Relationen zwischen den einzelnen Bestellungen und summiert diese auf
- Payment-Modul wird virtuelle Order übergeben
- Amount ist Summe aller Amounts der einzelnen Orders
- Methoden des Payment-Moduels (z.B. save) werden auf alle zugehörigen Bestellungen angewendet
- Kunde zahlt alle Bestellungen gemeinsam beim Payment-Dienstleister