/ WebDev

Die PHP Marktplatz Software Ebiz Trader im Test

Der Ebiz-Trader

Für einen Kunden habe ich basierend auf der PHP Software Ebiz Trader von Ebiz Consult ein größeres Projekt umgesetzt. Mit diesem Beitrag möchte ich meine gesammelten Erfahrungen teilen.

Im direkten Preisvergleich mit anderen Software-Lösungen konnte der Trader klar Punkten, weshalb sich mein Kunde für diese Lösung entschied. Der Ebiz Trader von Ebiz Consult verspricht auf seiner Website “moderne Technologien” und “stetige Weiterentwicklung”. Die eingesetzte Version 6.5 überzeugte mit vielen Features und Raffinessen. Der Kunde kann den Marktplatz selbstständig verwalten und einfache Template-Anpassungen direkt im Backend vornehmen. In einem Erstgespräch mit Ebiz Consult versuchten wir grob die technischen Details des Traders herauszustellen. Laut Ebiz Consult basiert die Software auf einem selbst entwickelten PHP-Framework und implementiert außerdem eine eigene Templating-Sprache. Anpassungen des Templates sollten demnach kein Problem darstellen.

Templating mit dem Trader

Die ursprüngliche Aufgabenstellung bestand für mich in der Anpassung des Designs, welche nach der Installation des Traders auch keine nennenswerten Probleme bereitete. Vorhandene Template Files können einfach mit eigenen Dateien überschrieben werden. Selbstverständlich geschieht das in einem eigenen Verzeichnis, sodass die ganze Software relativ Update-sicher bleibt. Im Backend können auch neue Seiten angelegt werden. Diese greifen dann auf PHP-Files mit gleichem Namen zu. Darin wiederum können dann eigene Inhalte direkt ausgegeben werden oder man verweist an ein selbst erstelltes Template-File aus dem eigenen Design.

Die Templating-Sprache erinnert auf den ersten Blick an Smarty, hat jedoch nicht viel damit zu tun. Im Template können Helper-Funktionen aufgerufen werden. Diese wiederum sind hart in eine Template Klasse geschrieben und können daher nicht so leicht erweitert werden. Basics wie eine URL-Generierung sind aber möglich.

Variablen können mit an das Template übergeben werden. So können diese dann an bestimmten Stellen ausgegeben werden. Auch If-Abfragen sind so innerhalb von Templates möglich. Was leider gänzlich fehlt ist die Fähigkeit innerhalb von Templates zu iterieren. While, For oder Foreach sind nicht verfügbar. Das führt dazu, dass Listen bereits im Controller gerendert werden müssen und das komplette HTML dann an das Template übergeben wird.

Funktionserweiterung des Marktplatzes

Im Verlauf der Design-Entwicklung änderten sich die Ansprüche meines Kunden, weshalb es nötig war, die Funktionalität der Ebiz Traders zu Verändern und in einigen Teilen zu erweitern. Die Änderungen der Software konnten von Ebiz Consult nicht selbst durchgeführt werden. Die Gründe dafür sind mir nicht bekannt. Leider gab es vorab nicht die Möglichkeit einzelne Teile des Quellcodes genauer zu begutachten, was sich an dieser Stelle als sehr fatal herausstellte.

Man kann die komplette Softwarearchitektur als weitgehend prozedural und unstrukturiert beschreiben, was das Erweitern der Funktionalität deutlich erschwerte. Auch eine detaillierte Entwickler-Dokumentation war nicht vorhanden. Die Software implementiert leider keinerlei Plugin- oder Extension-System. Daher muss für jede Funktionserweiterung oder Funktionsänderungen der Kern der Software direkt modifiziert werden. Das wiederum wirkt sich sehr negativ auf die Updatesicherheit des kompletten Systems aus.

Der Kern der Software besteht aus zahlreichen PHP-Files. Einige enthalten schlicht Funktionen, andere enthalten Klassen oder lediglich prozedurale Code-Schnipsel. Ein klares Design-Pattern ist nicht durchgehend erkennbar. An zahlreichen Stellen werden PHP Files hart inkludiert und Variablen werden oft mit global bereitgestellt anstelle diese zu injizieren. Der Quellcode ist vermutlich über einen langen Zeitraum gewachsen und wurde dabei von vielen Entwicklern ohne einheitliche Absprachen und Guidelines verändert.

Selbst mit Hilfe einer Versionskontrolle wie Git können Updates nicht ohne enormen Zeitaufwand eingespielt werden, wenn der Kern des Traders von Ebiz modifiziert wurde. Dann ist nämlich davon auszugehen, dass sich Logiken innerhalb der Prozeduren verändert haben und zunächst neu erforscht und getestet werden müssen.

Für die Implementierung eines neuen Versandkosten-Systems entschied ich mich daher zunächst dafür, ein Plugin-System für den Trader zu schreiben. Dieses erlaubt es mir, an beliebigen Stellen im Code des Traders einzeilige und kurze Hooks zu setzen und so Variablen zu manipulieren und diese in den Trader zurück zu pushen. Auf diese Weise sind sehr komplexe Änderungen am Software-Kern möglich ohne diesen stark verändern zu müssen.

Folgende Modifikationen wurden von mir mit dieser Technik realisiert: Ein komplexes Versandkostensystem, die Anbindung eines großen Zahlungsanbieters, ein individueller Connector für den In- und Export mit einer Warenwirtschaft sowie diverse SEO-Optimierungen.

Fazit

Aus Entwicklersicht kann ich den Ebiz Trader nicht empfehlen. Der Code ist relativ komplex und wenig modern. Das ist eigentlich nicht gerade zu erwarten, da Ebiz ja auch die Plattform php-resource.de betreibt. Wer vor hat diese Software zu erweitern sollte einiges an Erfahrung und Einarbeitungszeit mitbringen. Reine Design-Anpassungen sind jedoch ganz gut machbar.

Die Software ist für Einsteiger die zunächst ein bestimmtes Marktsegment erforschen möchten ganz gut geeignet. Ändern sich die Ansprüche oft (Was bei den meisten Projekten der Fall ist) oder muss der Marktplatz erweitert werden sollte besser eine andere Software eingesetzt werden.

Übrigens: Wenn du einen eigenen Marktplatz planst solltest du hier weiter lesen: Dein eigener Online-Marktplatz: Das musst du bei der Planung und Umsetzung beachten

Du planst einen Marktplatz?
Kontaktiere mich jetzt!

Die PHP Marktplatz Software Ebiz Trader im Test
Share this