Das neue Modifikationssystem in OpenCart 2

Der Erfolg eines Open-Source-Frameworks hängt von bestimmten Faktoren ab. Die Erweiterbarkeit ist einer der wichtigsten Faktoren. Dadurch kann die Community neue Funktionen hinzufügen und ihre Kernfunktionen erweitern, wodurch ein sehr leistungsfähiges Endprodukt entsteht. Natürlich ist es auch ein Muss, wenn es um die Entwicklung von benutzerdefinierten Erweiterungen geht.

In diesem Artikel erfahren Sie, wie Sie die Kerndateien des OpenCart-Frameworks ändern können, indem Sie eine XML-basierte Erweiterung von OCMOD implementieren. Ein Großteil seiner Funktionalität entstammt dem Vorgänger vQmod. Tatsächlich ist es ein viel einfacheres System, das im Vergleich zu vQmod weniger Funktionen bietet. Es hat jedoch alle wichtigen Ersatzmuster abgedeckt.

Das OCMOD-System ist ein XML-basiertes Such- und Ersetzungssystem. Sie definieren die XML-Datei gemäß den Konventionen von OCMOD. Den Rest erledigen Sie. Wir könnten also sagen, dass Sie jede Datei im Core-Framework ändern können!

Lassen Sie uns ein paar Beispiele auflisten, um zu verstehen, wozu es in der Lage ist:

  • Fügen Sie einen bestimmten Code vor einer bestimmten Zeile in der Datei ein.
  • Ersetzen Sie einen Codeblock durch Ihren benutzerdefinierten Codeblock.
  • Suchen Sie mit regexp eine Zeichenfolge in der Datei und ersetzen Sie sie durch eine andere Zeichenfolge.
  • Ändern Sie das Schema der OpenCart-Datenbank.
  • Viel mehr…

Wie Sie sehen, ist dies eine Liste von Dingen, die Sie mit OCMOD machen könnten. Darüber hinaus empfiehlt es sich, sie zu verwenden, anstatt die Kerndateien direkt zu ändern, was dringend empfohlen wird.

Im nächsten Abschnitt erstellen wir ein einfaches OCMOD-Modul für Demonstrationszwecke. Ich gehe davon aus, dass Sie die neueste Version von OpenCart verwenden.

Wie funktioniert OCMOD?

Sie können eine OCMOD-Erweiterung auf zwei verschiedene Arten erstellen und installieren. Entweder müssen Sie eine ZIP-Datei mit der Erweiterung ".ocmod.zip" erstellen. Alternativ können Sie nur eine einzige XML-Datei mit der Erweiterung ".ocmod.xml" erstellen.

Die Zip-Dateioption

Mit der Option der ZIP-Datei können Sie auch einige andere Dateien einschließen, sodass Sie auch andere Vorgänge ausführen können, z. B. das Datenbankschema ändern, neue Dateien / Verzeichnisse in die OpenCart-Installation hochladen usw. Sehen Sie sich an, welche Optionen verfügbar sind bei Verwendung der zip-Version der OCMOD-Erweiterung.

  • hochladen: Der Inhalt unter diesem Verzeichnis wird in das OpenCart-Stammverzeichnis kopiert.
  • install.sql: In diese Datei können Sie SQL-Abfragen einschließen, um die Datenbank zu ändern.
  • install.php: In diese Datei können Sie benutzerdefinierten PHP-Code aufnehmen, der vom Modifizierungscode benötigt wird.
  • install.xml: Es ist die wichtigste Datei, die den XML-Änderungscode enthält.

Natürlich ist es nicht zwingend erforderlich, alle oben aufgeführten Dateien / Verzeichnisse zu erstellen, aber Sie müssen eine install.xml Datei, um sicherzustellen, dass Ihre OCMOD-Erweiterung installiert werden kann.

Die XML-Dateioption

Dies ist eine wesentlich einfachere Methode zum Erstellen einer OCMOD-Erweiterung. Sie müssen lediglich eine XML-Datei mit der Erweiterung ".ocmod.xml" erstellen. Wir könnten sagen, dass es mit dem identisch ist install.xml Datei und enthält den XML-Änderungscode, den wir im vorherigen Abschnitt besprochen haben.

Der Einfachheit halber gehen wir zur späteren Option über und erstellen im nächsten Abschnitt eine OCMOD-Erweiterung.

Erstellen Sie die OCMOD-Moduldateien

Als Entwickler werden Sie meistens in eine Situation geraten, in der Sie versucht sind, die Kerndateien zu ändern. Wir zeigen ein reales Beispiel, wie Sie dieses Problem mit einer OCMOD-Erweiterung lösen können.

Angenommen, Sie möchten die Darstellung des Titels auf der Produktdetailseite ändern. Der folgende Code ist dafür verantwortlich, der Produktdetailseite den richtigen Titel zuzuweisen. Sie finden es in der Datei unter katalog / steuerung / produkt / produkt.php.

$ data ['heading_title'] = $ product_info ['name'];

Und du willst so etwas:

$ data ['heading_title'] = strtoupper ($ product_info ['name']);

Mal sehen, wie wir das mit einer OCMOD-Erweiterung erreichen können. Ein ... kreieren product_title.ocmod.xml Datei mit folgendem Inhalt.

  Änderung des Produkttitels Code_Tutsplus_Product_Title 1,0 Code Tutsplus http://code.tutsplus.com       

Wie Sie sehen können, sind die meisten Tags selbsterklärend. Der wichtigste Tag ist , Hier wird der Dateiname definiert, in dem die Operation ausgeführt wird. Das tag wird verwendet, um den Code zu suchen, nach dem wir suchen, und schließlich haben wir den Code verwendet Tag, um unseren Code einzufügen.

Installieren Sie das Modul vom Back-End aus

Nun, da wir mit unserer Modifikationsdatei fertig sind, sehen wir uns an, wie wir sie vom Backend von OpenCart aus installieren können. Gehen Sie zum Back-End und navigieren Sie zu Erweiterungen> Erweiterungsinstaller. Klicke auf das hochladen und wählen Sie die Datei aus, die wir im vorherigen Abschnitt erstellt haben. Wenn alles gut geht, sollten Sie eine Erfolgsmeldung sehen.

Navigiere zu Erweiterungen> Änderungen, und Sie sollten Ihre OCMOD-Erweiterung auf dieser Seite sehen.

Das bedeutet, dass Sie die Erweiterung erfolgreich installiert haben! Nun klicken Sie einfach auf die Aktualisierung Symbol oben rechts, damit es von OpenCart erkannt und auf das Frontend angewendet werden kann.

Im nächsten Abschnitt gehen wir durch das Frontend, um zu sehen, ob es auf die Produktdetailseite korrekt angewendet wird.

Testen im Frontend

Gehen Sie zum Frontend und navigieren Sie zu einer beliebigen Produktdetailseite. Sie sollten in der Lage sein, zu sehen, dass der Produkttitel jetzt groß geschrieben wird.

Obwohl dies ein sehr einfaches Beispiel ist, um die Leistungsfähigkeit von OCMOD zu demonstrieren, können Sie mit diesem Dienstprogramm noch viel mehr erledigen und die Kerndateien bei Bedarf ändern.

Fazit

Heute haben wir das neue Modifikationssystem in OpenCart 2 erörtert, und wir haben den gesamten Prozess durchgegangen, um zu demonstrieren, wie Sie es verwenden können, um die Kerndateien von OpenCart zu ändern. Fühlen Sie sich frei, Ihre Fragen zu stellen!