Das ist jetzt ein bisschen wie im BMW-Forum fragen, warum BMW besser ist als Mercedes, aber gut. Mal so aus Entwicklersicht:
Magento ist insgesamt alles ein bisschen wie Typo3 als CMS. Kann man nehmen, braucht man aber eigentlich nicht. Auf dem Papier liest sich das alles super, die Konzepte sind stimmig, die Flexibilität grenzenlos.
Beim Hands-On fällt dann aber auf, dass nicht nur die Lernkurve extrem steil ist. Was ja zu verkraften wäre, wenn es entsprechend gute Literatur gäbe. Tut es aber nicht. Das ganze mag deutlich einfacher sein, wenn man vorher schon viel mit dem ZEND Framework gemacht hat, wenn das aber nicht der Fall ist, dann steht man auf ziemlich verlorenem Posten. Man scheint im Magento-Umfeld davon auszugehen, dass bei einer Shopumsetzung mindestens 10 Leute beteiligt sind, ein paar fürs Backend, ein paar fürs Frontend. Anders lässt sich die Literaturlage nicht erklären. Entweder es gibt Schrott oder extrem spezialisierte Bücher. Dazwischen klafft eine riesen Lücke.
Und obwohl Magento eigentlich alles kann muss man ihm alles beibringen. Umlaute im URL z.B. oder eine Berechnung von Preisen bei konfigurierbaren Produkten, die individuell ist und sich nicht auf irgendwelche festen oder prozentualen Aufschläge herunterbrechen lässt.
Zu allem Überluss gibt es unzählige Möglichkeiten, wo eine bestimmte Änderung vorzunehmen ist. Ohne zusätzliche Tools ist man faktisch aufgeschmissen. Und selbst die versagen mitunter, wenn der Plugin-Autor nicht sauber gearbeitet hat.
Die Community ist nicht wirklich vorhanden, egal wie viele Leute für das Magento-Forum registriert sein mögen. Antworten gibt es entweder gar nicht oder sie sind unbrauchbar.
Frontend: Prototype. Ohne Worte. Markup zum davonlaufen. Und aufgrund der verteilten Struktur in so viele Einzelbröckchen zerlegt, dass man das nicht so auf die schnelle mal komplett grade ziehen kann.
Domains in Abhängigkeit der Sprache lassen sich nur mit Eingriffen in den Core realisieren, das gleiche gilt für den Einsatz eines SSL-Proxies, wobei man hier sicherlich einwenden kann, dass die Webhosting-Angebote, die mit SSL-Proxy kommen, für Magento sowieso eher ungeeignet sind.
Der Import von Bildern ist so dermaßen schmerzhaft, dass ich mir einen eigenen Importer geschrieben hatte, der direkt mit der Datenbank sprach.
Unabhängig davon ist bei OXID auch nicht alles golden, vor allem im Frontend nicht:
Im Checkout sind die label nicht mit dem Forumlarfeld verknüpft und viele labels sind ohne Funktion bzw. semantisch nicht korrekt verbaut, z.B. beim listlocator. Das führt dann bei bestimmten Sachen auch zu so unschönem Verhalten, dass sich Infos beim Klick auf den Radiobutton öffnen, aber nicht beim Klick auf das Label.
Zahlreiche Tippfehler: .collumn, .checkoutCollumns bzw. falsche Abkürzungen (oxuser__oxstreetnr statt oxuser__oxstreetno) und inkonsequente Benamung (.agb in ansonsten englischen Klassennamen, Inkonsistenz zwischen Shipping und Delivery)
Bei IDs im CSS und diesen Klassennamen mit CamelCaps könnte ich den ganzen den Kopf auf den Tisch hauen, zumal es nicht konsequent umgesetzt ist (.tobasket vs. #toBasket).
Warum man für die Validierung der Felder im Checkout-Prozess keine fertige Validierungsklasse für jQuery genommen hat weiß ich nicht. Die aktuelle Lösung ist auf jeden Fall anstregend. Jedes Mal, wenn ich aus dem Straße-Feld raustabbe ins Hausnummernfeld bekomme ich den Hinweis, doch bitte das Feld auszufüllen (das gerade erst den Focus bekommen hat), weil es die nicht unabhängig voneinander prüft.
Plaintextmails zu erzwingen ist mit viel Arbeit und Änderungen an Core-Files verbunden.
Wenn eine Kategorie nur verstecke Unterkategorien hat wird ein leerer <ul></ul> angelegt, weil falsch geprüft wird: [{if $_cat->getSubCats() && $_cat->expanded}] statt [{if $_cat->getSubCats() && $_cat->getHasVisibleSubCats() && $_cat->expanded}]
Und noch so diverse andere Kleinigkeiten (.checkoutSteps ist ul, nicht ol; Kein Mikrodata/RDFa in der Breadcrumb; Breadcrumb verlinkt auch die aktuelle Seite, von ARIA-Roles hat man scheinbar noch nichts gehört, wobei ich das bei genauerer Betrachtung nicht als Kleinigkeit verbuchen würde.)