Post navigation

Allgemein

Magento-Extensions – Das sollte man wissen.

Das Shop-System von Magento ist reich an Erweiterungen (sog. Extensions, auch Module genannt).
Einige Module, die ich aus Erfahrung jedem Magento-Shop-Betreiber empfehlen würde, sind beispielsweise:

Natürlich gibt es noch viele weitere nützliche Erweiterungen. Auch wir haben eine Magento-Schnittstelle zu einem anderen Shop-System programmiert und haben dabei auf die Struktur der Magento-Erweiterungen zurückgegriffen. Im folgenden möchte ich kurz für jedermann verständlich erklären, wie Magento-Erweiterungen funktionieren und worauf man beim Installieren von Extensions beachten sollte.

Wie funktionieren Magento-Extensions aus technischer Sicht?

Eine Magento-Erweiterung enthält im Normalfall Dateien (php, xml, und phtml-Dateien), die in das Root-Verzeichnis des Magento-Shops kopiert werden. Diese Dateien sind an die Ordner-Struktur von Magento angepasst, d.h. sie sind beispielsweise in den Ordnern „app/code/…“ oder „app/design/ …“ zu finden.

Bei der Installation einer Erweiterung werden diese neuen Dateien hochgeladen und in die Ordner-Struktur von Magento integriert. Dabei werden keine Dateien von Magento selbst ersetzt, sondern lediglich neue hinzugefügt. Das Magento-System ist aber so intelligent, diese neuen Dateien zu erkennen und der Magento-Erweiterung zuzuordnen.

Was nun? Magento interpretiert die hochgeladenen Dateien als zur neuen Erweiterung zugehörig. Auf Seiten des Codes passiert folgendes: Verschiedene Klassen und Script-Funktionen werden nun nicht mehr aus dem sog. „Core-Code“ von Magento aufgerufen sondern aus dem neuem Modul. Oder: Verschiedene Programmcodes werden um Funktionen aus dem neuem Modul erweitert.

Ein Beispiel:

Zwar habe ich nicht die DHL-Intraship-Erweiterung programmiert, dennoch kann man dies als anschauliches Beispiel heranziehen:

  • Wenn ich in einem Magento-Shop ohne die DHL-Intraship-Extension in einer Bestellung auf „Senden“ klicke, so erscheint die normale Maske für das Anlegen eines Lieferscheins. Hinter dem Klick auf Senden steckt gewissermaßen eine Klasse und eine Anweisung, die diese normale Maske zur Lieferschein-Erstellung erscheinen lässt.
  • Wenn ich aber die DHL-Intraship-Extension installiert habe, so erscheint in der Maske ein zusätzliches Feld, in dem ich Eingaben für das Erstellen des DHL-Versandlabels vornehmen kann.

Was passiert hier? Magento ersetzt aufgrund des installierten (hochgeladenen Moduls) die normale Anweisung (Lieferschein erstellen) durch die neue abgeänderte Anweisung (Lieferschein mit DHL-Versandlabel erstellen).

Wieso ist das wichtig?

Durch fehlerhaft installierte Magento-Extensions kann man den eigenen Online-Shop kaputt machen. Dies sollte im Normalfall nicht passieren und oft lassen sich Probleme auch im Nachhinein noch beseitigen, dennoch sollte man bei der Installation auf einige Dinge Acht geben und hierfür ist es nicht schlecht, Bescheid zu wissen, wie eine Magento-Erweiterung aufgebaut ist.

Insbesondere ist es wichtig, vor der Installation einer neuen Erweiterung den Compiler zu deaktivieren. Denn durch den Kompilierungsprozess werden verschiedene Script-Funktionen und Anweisungen (wie oben im Beispiel) zur Performance-Verbesserung durchlaufen, noch bevor ein User diese Anweisungen ausführt. Passiert die Kompilierung nun vor der Installation eines neuen Moduls, so kommt Magento gewissermaßen mit alten (im Kompilierer gespeicherten) und neuen aus dem Modul stammenden Script-Anweisungen durcheinander. Resultat ist eine Fehlermeldung. Das Frontend und Backend des Shops ist nicht erreichbar, was sehr ärgerlich sein kann.

Lesen Sie in meinem nächsten Post, welche Schritte Sie für eine sichere Installation von Magento-Erweiterungen durchführen sollten.

Eine Magento-Erweiterung wurde installiert und der Shop bzw. das Backend ist nicht mehr erreichbar?

Sollte dieser Fall eingetreten sein, ist das Grundgebot: keine Panik und vorschnelle Schlüsse, wie beispielsweise das Zurücksetzen des gesamten Systems auf einen älteren Zustand! Sie können das Modul auf einfache Weise wieder deinstallieren. Lesen Sie in diesem Artikel, was Sie zu tun haben, sollte Ihr Magento-Backend bzw. -Frontend aufgrund einer installierten Erweiterung nicht mehr erreichbar sein.

Sie haben weitere Fragen?

Sie haben weitere Fragen zu nützlichen Magento-Erweiterungen, benötigen Hilfe bei der Installation dergleichen oder suchen professionelle Hilfe für Ihren Magento-Shop? Kontaktieren Sie uns.

About admin