Admin:Versandarten: Unterschied zwischen den Versionen
Yogi (Diskussion | Beiträge) |
Yogi (Diskussion | Beiträge) |
||
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
Zeile 15: | Zeile 15: | ||
Im Backend "Module" -> "Versandkosten" erkennst Du in der Spalte "Modulname" den Dateinamen für die Versandart, in unserem Fall also '''table'''. | Im Backend "Module" -> "Versandkosten" erkennst Du in der Spalte "Modulname" den Dateinamen für die Versandart, in unserem Fall also '''table'''. | ||
− | Nun möchten sagen wir mal die neue Versandart soll " | + | Nun möchten sagen wir mal die neue Versandart soll "tableeu" heißen - liegt ja Nahe, table war es vorher und "eu" als Ergänung zur Unterscheidung. Bei der Namensgebung sollte man nur Kleinbuchstaben verwenden, ein Unterstrich im Namen führt zu einem Problem beim Checkout! Also kopierst Du die obigen Dateien unter dem neuen Namen "tableeu.php": |
− | * includes/modules/shipping/ | + | * includes/modules/shipping/tableeu.php und |
− | * lang/german/modules/shipping/ | + | * lang/german/modules/shipping/tableeu.php |
− | * lang/english/modules/shipping/ | + | * lang/english/modules/shipping/tableeu.php |
In diesen Dateien werden diverse Konstanten verwendet nun auch noch geändert werden müssen, aber der Reihe nach. | In diesen Dateien werden diverse Konstanten verwendet nun auch noch geändert werden müssen, aber der Reihe nach. | ||
=== Anpassen der Zahlungsklasse === | === Anpassen der Zahlungsklasse === | ||
− | Öffne zunächst die Datei ''includes/modules/shipping/ | + | Öffne zunächst die Datei ''includes/modules/shipping/tableeu.php'' und suche dort nach ''class '''table''''' - hier muss '''table''' durch '''tableeu''' ersetzt werden. Jede Klasse hat einen [http://php.net/manual/de/language.oop5.decon.php Konstruktor], der entweder __construct oder so wie die Klasse genannt ist - suche also nach ''function '''table''''' und ersetzte auch dort '''table''' durch '''__construct''' (da wir PHP V5.x verwenden). Wenn es keine ''function '''table''''' gibt so prüfe ob es eine ''function __construct'' gibt, wenn ja muss du hier nix anpassen. |
− | Die Klasse selbst weiß ebenfalls wie sie heißt - und speichert dies in der Varibale '''$this->code'''. Suche also nach $this->code und weise dieser ebenfalls den neuen Wert ''' | + | Die Klasse selbst weiß ebenfalls wie sie heißt - und speichert dies in der Varibale '''$this->code'''. Suche also nach $this->code und weise dieser ebenfalls den neuen Wert '''tableeu''' - da wir PHP V5.x verwenden könnte man hier auch '''[http://de1.php.net/manual/de/function.get-class.php get_class($this)]''' verwenden, welches ebenfalls den Namen der Klasse zurückliefert. |
− | Nun müssen wir noch die Konstanten ändern. In der Klasse wird ganz oft '''MODULE_SHIPPING_TABLE_''' verwendet, wobei dahinter noch diverse namen kommen. Diese müssen auch alle in den neuen Wert ''' | + | Nun müssen wir noch die Konstanten ändern. In der Klasse wird ganz oft '''MODULE_SHIPPING_TABLE_''' verwendet, wobei dahinter noch diverse namen kommen. Diese müssen auch alle in den neuen Wert '''MODULE_SHIPPING_TABLEEU_''' geändert werden. |
=== Anpassung der Sprachdateien === | === Anpassung der Sprachdateien === |
Aktuelle Version vom 12. November 2012, 08:03 Uhr
Im WEB-Shop sind bereits diverse Versandarten vorhanden.
Viele Versandarten bieten die Möglichkeit diese auf eine "Steuerzone" zu beschränken. Diese Steuerzone hat nix mit der deutschen Steuer zu tun, sondern es handelt sich vielmehr um eine Kontrollzone. Diese "Zonen" können im Backend unter "Land/Steuer" -> Steuerzonen angelegt und bearbeitet werden.
Häufig benötigt man mehrere Versandarten, insbesondere wenn man ins In- und Ausland verschickt. Anstatt sich nun auf die "vorhandenen" Versandarten zu beschränken kann man auch eine Versandart "duplizieren" indem man den Code vervielfältigt.
Versandart duplizieren
Eine Versandart besteht immer aus einer Code- und mehreren Spachdateien. Diese befinden sich unter
- includes/modules/shipping/versandart.php und
- lang/Sprache/modules/shipping/versandart.php
Bei einer Standardinstallation sind es also zwei Sprachdateien (german / english).
Nehmen wir mal an Du möchtest die "Tabellarischen Versandkosten" sowohl für Deutschland als auch für EU (ohne D) verwenden. Im Backend "Module" -> "Versandkosten" erkennst Du in der Spalte "Modulname" den Dateinamen für die Versandart, in unserem Fall also table.
Nun möchten sagen wir mal die neue Versandart soll "tableeu" heißen - liegt ja Nahe, table war es vorher und "eu" als Ergänung zur Unterscheidung. Bei der Namensgebung sollte man nur Kleinbuchstaben verwenden, ein Unterstrich im Namen führt zu einem Problem beim Checkout! Also kopierst Du die obigen Dateien unter dem neuen Namen "tableeu.php":
- includes/modules/shipping/tableeu.php und
- lang/german/modules/shipping/tableeu.php
- lang/english/modules/shipping/tableeu.php
In diesen Dateien werden diverse Konstanten verwendet nun auch noch geändert werden müssen, aber der Reihe nach.
Anpassen der Zahlungsklasse
Öffne zunächst die Datei includes/modules/shipping/tableeu.php und suche dort nach class table - hier muss table durch tableeu ersetzt werden. Jede Klasse hat einen Konstruktor, der entweder __construct oder so wie die Klasse genannt ist - suche also nach function table und ersetzte auch dort table durch __construct (da wir PHP V5.x verwenden). Wenn es keine function table gibt so prüfe ob es eine function __construct gibt, wenn ja muss du hier nix anpassen.
Die Klasse selbst weiß ebenfalls wie sie heißt - und speichert dies in der Varibale $this->code. Suche also nach $this->code und weise dieser ebenfalls den neuen Wert tableeu - da wir PHP V5.x verwenden könnte man hier auch get_class($this) verwenden, welches ebenfalls den Namen der Klasse zurückliefert.
Nun müssen wir noch die Konstanten ändern. In der Klasse wird ganz oft MODULE_SHIPPING_TABLE_ verwendet, wobei dahinter noch diverse namen kommen. Diese müssen auch alle in den neuen Wert MODULE_SHIPPING_TABLEEU_ geändert werden.
Anpassung der Sprachdateien
In den Sprachdateien wird diversen Konstanten der entsprechende Text zugewiesen, auch diese müssen wie oben beschrieben auf den neuen Modulnamen angepasst werden.
Vor dem Testen sollte man wie immer eine Sicherung anfertigen (Dateien & Datenbank)
Steuerzone anpassen
Um nun die richtige Steuerung zu implementieren überprüfe die vorhandenen Steuerzonen. Für unseren Fall erzeugen wir eine Steuerzone "Versand DE" welcher wir nur das Land "Germany" zuweisen. Anschließend erstellen wir eine Steuerzone "Versand EU" welcher wir alle EU-Länder mit Ausnahme von Deutschland hinzufügen.
Nun weisen wir der jeweiligen Versandart die entsprechende Steuerzone zu und haben für Deutschland die eine und für die EU die anderen Versandkosten. Das ganze kann man natürlich beliebig wiederholen...