Tutorial: Kopieren eines Versandmoduls

Aus Wiki | modified eCommerce Shopsoftware
Zur Navigation springenZur Suche springen

(by Hendrik Koch, 08.2009)

Oft kommt es vor, daß man ein Versandmodul mit veränderten Eigenschaften benötigt. Sinnvoll ist es ein Modul aus der Standardbiblothek zu entnehmen, zu kopieren um es in seinen Eigenschaften anzupassen und dabei das Originalmodul beizubehalten.

Dieser Text beschreibt an einem Beispiel wie man ein Versandmodul kopiert. Die genannten Operationen passen für die meisten Standardmodule. Es kann aber Abweichungen geben. In diesem Fall sind weitere individuelle Maßnahmen erforderlich die dieses Tutorial, weil allgemein gehalten, nicht berücksichtigen kann.

Das Versandmodul "Versandkostenfrei (freeamount)" kann nicht so ohne weiteres kopiert werden, da im Shop an vielen Stellen im Code auf "freeamount" getestet wird und diese Stellen dann um den Namen des kopierten Moduls erweitert werden müssten. Einfacher ist eine Erweiterung auf Zonen dieses Moduls.

Wir wählen das Modul "table" (Tabellarische Versandkosten) aus und kopieren es zu Modul "table2".

Codedatei[Bearbeiten]

Das Modul liegt in Ordner

includes/modules/shipping/table.php

Als erstes kopieren wir es in Datei

includes/modules/shipping/table2.php

Öffnen

Alle Vorkommen des Terminus "table" werden ersetzt in "table2". Groß/Kleinschreibung beachten bei der Textsuche. Dabei ist zu beachten, daß nicht einfach mittels der Textfunktion nur das Wort table ersetzt wird sondern alle Vorkommen des Klassen- und Modulnamens "table".

Achtung: Bei dem neuen Namen auf keinen Fall Unterstriche verwenden: "table_2" funktioniert nicht!

 class table {   

zu

 class table2 {


ebenso

 $this->code = 'table';
 function table() {

Letztgenanntes, wenn es vorkommen sollte mit diesem ersetzen (noRiddle):

 function __construct() {


Nun die Konfigurationsnamen

Alle Vorkommen von

MODULE_SHIPPING_TABLE_.....

ersetzen zu

MODULE_SHIPPING_TABLE2_.....

Aufpassen: Die Konstante TABLE_CONFIGURATION nicht ändern! Diese Namensähnlichkeit ist rein zufällig und hat nichts mit dem Modul "table" zu tun.

Sprachdateien[Bearbeiten]

Die Sprachdateien des Moduls liegen im lang-Ornder

lang/german/modules/shipping/table.php

Datei kopieren nach

lang/german/modules/shipping/table2.php

Öffnen und alle Vorkommen von

MODULE_SHIPPING_TABLE_.....

ersetzen zu

MODULE_SHIPPING_TABLE2_.....


Fertig. Das Versandmodul table steht nun als table2 unabhängig zur Verfügung und kann ohne Wechselwirkungen zum Originalmodul angepasst werden.