Du bist nicht angemeldet.

henrikf

Pixelor-Team

  • »henrikf« ist der Autor dieses Themas

Beiträge: 6 828

Wohnort: Bad Aibling / Bayern

Beruf: Software-Entwickler

  • Private Nachricht senden

1

15.12.2014, 23:19

Frust ablassen: Magento e-Commerce Shop-System

Absolut und völlig OT, aber ich muss jetzt mal meinen beruflichen Frust ablassen:

Ich habe ein Shop-System zu betreuen, welches leider auf dem Shop-System »Magento« aufgebaut ist. Wenn ich selber einen Internet-Shop für einen Kunden aufsetze, dann nehme ich selber möglichst immer »PrestaShop«, weil das System innen wie außen so schön logisch und »verstehbar« aufgebaut ist.

Ganz anders bei »Magento«: Mein Gott, ist das ein überkomplizierter, intern schlecht programmierter, fehlerbehafteter und so gut wie nicht dokumentierter Kram. Ich habe jetzt sage und schreibe 2 1/2 Stunden damit zugebracht, eine simple Funktion zu integrieren, die bei PrestaShop in gefühlt einer 1/4 Stunde erledigt gewesen wäre (naja, so ganz auch nicht, aber eben »gefühlt«). Bei Magento ging die Zeit einfach dafür drauf, im PHP-Code zu suchen, wo denn eigentlich überhaupt mal der korrekte Ansatzpunkt wäre. Nur um dann festzustellen, dass ich locker noch weitere 5 Stunden suchen könnte, ohne Ziel-Garantie. Und dann fängt man eben mit Flickschusterei an. Und genau so fühlt sich das komplette Shop-System an: Alles ist irgendwie von hinten durch die Brust ins Auge.

Grrrrr! :cursing:
--== Island2Live / Henrik Fisch==--
Homepage: http://www.island2live.com/ deviantART: http://island2live.deviantart.com/
Spielt gerade: Yonder: The Cloud Catcher Chronicles

2

16.12.2014, 03:06

Bequatsch den doch auf ein anderes System zu Migrieren. ;)
Hipster-Pisser!

henrikf

Pixelor-Team

  • »henrikf« ist der Autor dieses Themas

Beiträge: 6 828

Wohnort: Bad Aibling / Bayern

Beruf: Software-Entwickler

  • Private Nachricht senden

3

16.12.2014, 10:18

Musste ich gar nicht ... mein Kunde ist selber mit Magento total unzufrieden (was übrigens bisher auf JEDEN meiner Kunden mit Magento-Erfahrung zutrifft) ... ein Geschäftsmann und obendrein auch noch sehr sympathisch. Er sieht selber, dass das mit Magento alles nicht so wirklich rund läuft.

Allerdings ist der Shop so mit »Spezialitäten« durchsetzt, die man alle auf PrestaShop umsetzen müsste, dass das eine sehr teure Angelegenheit wird. Ich müsste da erst einmal eine intensive »Studie« betreiben, WAS ich da alles zusätzlich programmieren muss. Und dann ist sein Personal im Moment natürlich auf die Administration von Magento getrimmt ... die müsste man dann auch noch umgewöhnen.

Der Wille ist also da, aber ich scheue mich selber ein wenig vor der Umsetzung. Das kann auch böse nach hinten los gehen, wenn man nicht sehr genau alles beachtet, was der alte Shop kann. Das ist leider alles andere als Trivial.
--== Island2Live / Henrik Fisch==--
Homepage: http://www.island2live.com/ deviantART: http://island2live.deviantart.com/
Spielt gerade: Yonder: The Cloud Catcher Chronicles

Beiträge: 814

Wohnort: Ingolstadt

Beruf: Senior Software Engineer

  • Private Nachricht senden

4

17.12.2014, 11:14

Viele Chinesen setzen wohl neben xtCommerce auch Magento ein. Erst kürzlich wurde ich für einen Shop in China gefragt, ob man dieses Shopsystem empfehlen könne. Ich kannte das nicht wirklich. Ich hatte ebenso PrestaShop empfohlen, was aber dort scheinbar unbekannt ist.

Deine Erfahrung nehme ich mal zum Anlass, ganz klar keine Empfehlung für Magento auszusprechen. Danke für dieses wertvolle Off-Topic-Thema.

henrikf

Pixelor-Team

  • »henrikf« ist der Autor dieses Themas

Beiträge: 6 828

Wohnort: Bad Aibling / Bayern

Beruf: Software-Entwickler

  • Private Nachricht senden

5

17.12.2014, 14:36

Vielleicht noch eine kleine Argumentationshilfe:

Dokumentation
Es gibt zwar eine offizielle Wiki für Magento ... aber die Informationen dort beziehen sich meistens nicht auf die aktuelle Version (z.Zt. 1.9.1.0). Und es gibt teilweise erhebliche inkompatible Unterschiede in den Magento-Versionen. Diese Doku kann man also nahezu vergessen.

Layout-Struktur
Magento hat ein auf den ersten Blick elegantes System um zu bestimmen, welche Programmteile (PHP-Objekte/Methoden) für welche Funktionalität zuständig sind. Das wird nämlich über XML-Dateien gesteuert. Das Problem ist: Die sind so dermaßen kryptisch und überhaupt nicht selbsterklärend, dass man als Einsteiger sofort verzweifelt, will man dort etwas ändern. Und es gibt SO GUT WIE KEINE offizielle Dokumentation seitens Magento, wie das funktioniert. Alles wird in der Wiki (siehe oben) immer nur Häppchenweise verklickert, und dann eben auch meistens noch veraltet.

Außerdem weiß ich als Programmierer auch nicht, warum ich unbedingt eine XML-Steuerdatei benötige, wenn ich die angesteuerten Module dann alle Nase lang sowieso umprogrammieren muss. Dann kann ich auch gleich alles mittels PHP machen. Das stammt vermutlich noch aus der Zeit, als XML als Allheilmittel für Daten-Probleme angesehen wurde (inzwischen ist ja sogar »XHTML« mausetot ... Gott sei Dank).

Das gleich gilt für die internen Methoden, die Magento den Programmierern zur Verfügung stellt. Ich habe keine offizielle Dokumentation dazu gefunden. Viel Spaß, wenn Du in einer von Magento verschickten Kunden-E-Mail mal etwas außerhalb der Reihe machen willst, was Magento nicht von Haus aus kann.

Template-Engine
Kurz: Es gibt eigentlich keine. Genau genommen sind das auch alles PHP-Dateien (nur mit .phtml als Dateiende), in denen ein munterer Verhau von HTML- und PHP-Code herrscht. »Smarty«? »Twig«? Wo kommen wir denn da hin, wenn wir übersichtlich werden. Rechne da noch das oben genannte Layout-System mit den kryptischen XML-Dateien hinzu, und Du kannst erahnen, was man als Programmierer für einen »Spaß« hat, wenn man da etwas ändern möchte.

Forum
Die Entwickler lassen sich im Forum so gut wie nicht blicken. Fehler-Anfragen werden so gut wie nicht beantwortet. Es gibt dazu zwar einen Bug-Tracker, aber wenn man sich ansieht, wie lage dort Fehler bestehen bleiben ... dann wird einem schlecht.

Rundungsfehler bei den Preisen
In den alten Versionen von Magento gibt es merkwürdige Rundungsfehler der Preise im Wahrenkorb, wenn unter bestimmten Umständen - Steuersaätze - dort Waren eingefügt werden. Mein Kunde hatte auch ein Problem ... was - lieber Gott, ich danke Dir auf den Knien! - nicht mit diesem Fehler zu tun hatte. Aber ich habe mir mal den PHP-Code ein wenig angesehen. Was die da berechnen ... das ist sowas von unglaublich!

Community Edition vs. Enterprise Edition
Wenn man Geld ausgeben mag, dann bekommt man vermutlich Support. Das finde ich um so schlimmer, als dass Magento eigentlich eine OpenSource-Software ist. Aber im Moment sieht es für mich danach aus, als würden bewusst Fehler in der CE-Version belassen, damit man möglichst Geld abdrückt. Ganz miese Nummer.

Allgemeine Anmutung
Auf mich macht das den Eindruck eines zu schnell gewachsenen Systems, in dem Fehler immer noch mitgeschliffen aber nie richtig behoben wurden. Es wurde immer drum herum geflickt. Genau genommen halte ich Magento für nahezu unwartbar. Das begründet auch, warum jede Web-Agentur sofort einen fünfstellige Summe nennt, wenn das Stichwort »Magento« fällt. Obendrein kenne ich keinen Shop-Betreiber, der Magento wirklich gut findet. Aber das wissen die Betreiber selber erst dann, wenn sie bereits EUR 20.000,00 an die Agentur gezahlt haben und jetzt kein Geld mehr ausgeben können. Die einzigen Fans von Magento sitzen meistens in Agenturen oder verdienen anderweitig ihr Geld damit.

Das Ding ist einfach super-ober-obendrüber-saumäßig und teilweise völlig unnötig kompliziert. Und das macht es so teuer.

Mein wohlgemeinter Rat: FINGER - WEG - VON - MAGENTO!


xtCommerce
Die Software stammt von »osCommerce« ab, mit der ich in einer ganz ealten Version 2.2 vor vier Jahren meinen ersten Kunden-Shop gebaut habe. Der Shop läuft immer noch ... aber die interne Struktur ist von dieser Version ganz böse. Allerdings: So mies wie Magento ist das bei weitem nicht. Man kann das als PHP-Programmierer sogar ganz gut verstehen, wenn man sich da hinein kniet. Mit neueren Versionen oder auch »xtCommerce« kenne ich mich allerdings nicht aus.
--== Island2Live / Henrik Fisch==--
Homepage: http://www.island2live.com/ deviantART: http://island2live.deviantart.com/
Spielt gerade: Yonder: The Cloud Catcher Chronicles

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »henrikf« (17.12.2014, 14:41)


Beiträge: 814

Wohnort: Ingolstadt

Beruf: Senior Software Engineer

  • Private Nachricht senden

6

17.12.2014, 17:33

Vielen Dank für die sehr ausführliche und nachvollziehbare Argumentation. Gerade eine - zumindest im Ansatz vorhandene - Einhaltung des MVC-Paradigmas war ein wesentliches Kriterium für den Shop, um Layout-Elemente unabhängig vom Code weiterentwickeln zu können. So wie du beschreibst (insbesondere Abschnitt "Template Engine"), scheint aber gar nichts davon zu existieren und man muss richtig "rumwurschteln".

Ich werde also wirklich davon abraten. Ich hoffe, dass meine Frau deine Punkte ins Chinesische übersetzen kann ;)

henrikf

Pixelor-Team

  • »henrikf« ist der Autor dieses Themas

Beiträge: 6 828

Wohnort: Bad Aibling / Bayern

Beruf: Software-Entwickler

  • Private Nachricht senden

7

17.12.2014, 17:55

[...] Gerade eine - zumindest im Ansatz vorhandene - Einhaltung des MVC-Paradigmas war ein wesentliches Kriterium für den Shop, um Layout-Elemente unabhängig vom Code weiterentwickeln zu können. [...]

Doch, das geht schon. Magento ist intern nicht nur völlig objektorientiert sondern auch strikt MVC. Die halten Code und das optische Layout (die .phtml-Dateien) völlig auseinander. Das Problem ist nur, dass man erst einmal - immer gegen die miserable Dokumentation arbeitend - verstehen muss, wie das alles ineinander greift.

Vielleicht war das mit dem »Layout« von mir auch ein wenig missverständlich (es ist bei Magento aber nicht schwer, etwas misszuverstenen): Ein »Layout« (die XML-Dateien) beschreibt in Magento, welcher Funktionsblock auf den Seiten wo dargestellt wird, welches Objekt dafür genutzt werden soll und wie das ganze auszusehen hat. Das kann das schon, es ist nur so sch*** kompliziert!

Wenn ich mir dagegen PrestaShop ansehe: Das ist sowas wie der feuchte Traum eines MVC-Entwicklers. Das Ding ist intern so logisch aufgebaut und deswegen auch so leicht zu verstehen. Und es gibt auch eine sehr gute Dokumentation, die ca. 80% der Anwendungsfälle erschlägt. :)
--== Island2Live / Henrik Fisch==--
Homepage: http://www.island2live.com/ deviantART: http://island2live.deviantart.com/
Spielt gerade: Yonder: The Cloud Catcher Chronicles

Beiträge: 814

Wohnort: Ingolstadt

Beruf: Senior Software Engineer

  • Private Nachricht senden

8

18.12.2014, 07:06

Die halten Code und das optische Layout (die .phtml-Dateien) völlig auseinander.
Okay, das hatte ich missverstanden.

[...] welcher Funktionsblock auf den Seiten wo dargestellt wird, welches Objekt dafür genutzt werden soll und wie das ganze auszusehen hat. Das kann das schon, es ist nur so sch*** kompliziert!
Das macht es aber am Ende auch nicht besser, zumal ich erfahren habe, dass der betreffende Programmierer noch relativ frisch dabei ist und sich mit dem Zeugs erst kürzlich selbständig gemacht hat. Da branchenbedingt noch einiges "gecustomized" werden muss, sehe ich schwarz.

Wenn ich mir dagegen PrestaShop ansehe: Das ist sowas wie der feuchte Traum eines MVC-Entwicklers
:D Das ist doch mal eine aussagekräftige Bewertung...