Συχνά χρειαζόμαστε διαφορετικές αποστολές βάσει βάρους για να καλύψουμε ταυτόχρονη υποστήριξη αποστολών με ΕΛΤΑ, Courier, κλπ για πολλαπλές γεωγραφικές ζώνες. Ο πιο απλός τρόπος για να το πετύχουμε αυτό είναι μέσω της κλωνοποίησης του module αποστολής βάσει βάρους (weight shipping).
Οδηγίες κλωνοποίησης αποστολής βάσει βάρους (weight shipping) για ΕΛΤΑ, Courier, κλπ
Χρησιμοποιούμε οποιονδήποτε απλό επεξεργαστή κειμένων κατάλληλο για αρχεία κώδικα, πχ Notepad++ απενεργοποιώντας το “BOM” στις ρυθμίσεις (Windows), TextEdit επιλέγοντας plain text στις ρυθμίσεις (OS X), gedit (Linux), κλπ.
Ανοίγουμε τα ακόλουθα αρχεία στον επεξεργαστή κειμένου:
admin/controller/shipping/weight.php
admin/view/template/shipping/weight.tpl
Κάνουμε αναζήτηση για weight και την ControllerShippingWeight την κάνουμε ControllerShippingWeight2 και μετά όπου υπάρχει weight (είτε σκέτη είτε μαζί με άλλες λέξεις) την κάνουμε weight2
Ανοίγουμε το ακόλουθο αρχείο στον επεξεργαστή κειμένου:
admin/language/english/shipping/weight.php
admin/language/greek/shipping/weight.php
...admin/language/και-για-κάθε-άλλη-γλώσσα/shipping/weight.php
Στο περιεχόμενο μετά το ίσον στη σταθερή $_['text_title'] αντικαθιστούμε την υπάρχουσα περιγραφή του module με την ονομασία της νέας μεθόδου αποστολής μεταφρασμένη στην ανάλογη γλώσσα πχ:
$_['text_title'] = 'ΕΛΤΑ';
catalog/model/shipping/weight.php
Κάνουμε αναζήτηση για weight και την ModelShippingWeight την κάνουμε ModelShippingWeight2 και μετά όπου υπάρχει weight (είτε σκέτη είτε μαζί με άλλες λέξεις) την κάνουμε weight2
Επίσης στη γραμμή 43 το:
'code' => 'weight.weight_' . $result['geo_zone_id'],
'code' => 'weight2.weight2_' . $result['geo_zone_id'],
(Γραμμή 25)
$weight = $this->cart->getWeight();
if ($data[0] >= $weight) {
$this->language->get('text_weight') . ' ' . $this->weight->format($weight, $this->config->get('config_weight_class_id')
Ανοίγουμε τα ακόλουθα αρχεία στον επεξεργαστή κειμένου:
catalog/language/greek/shipping/weight.php
...catalog/language/και-για-κάθε-άλλη-γλώσσα/shipping/weight.php
Στο περιεχόμενο μετά το ίσον στη σταθερή $_['text_title'] αντικαθιστούμε την υπάρχουσα περιγραφή του module με την ονομασία της νέας μεθόδου αποστολής μεταφρασμένη στην ανάλογη γλώσσα πχ:
$_['text_title'] = 'ΕΛΤΑ';
Οδηγίες κλωνοποίησης αποστολής Citylink για ΕΛΤΑ, Courier, κλπ
Για όσους δεν χρειάζονται διαφορετικές χρεώσεις ανά γεωγραφική ζώνη αλλά ξεχωριστές μεθόδους αποστολής βάσει βάρους, μπορούν να κλωνοποιήσουν το πιο απλό module "Citylink".
Ανοίγουμε τα ακόλουθα αρχεία στον επεξεργαστή κειμένου:
admin/controller/shipping/citylink.php
admin/view/template/shipping/citylink.tpl
Κάνουμε αναζήτηση για citylink και την ControllerShippingCitylink την κάνουμε
ControllerShippingΕlta και μετά όπου υπάρχει citylink (είτε σκέτη είτε μαζί με άλλες λέξεις) την κάνουμε elta
Ανοίγουμε τα ακόλουθα αρχεία στον επεξεργαστή κειμένου:
admin/language/english/shipping/citylink.php
admin/language/greek/shipping/citylink.php
...admin/language/και-για-κάθε-άλλη-γλώσσα/shipping/citylink.php
Στο περιεχόμενο κάνουμε αναζήτηση για citylink και αντικαθιστούμε την λέξη citylink με την ονομασία της νέας μεθόδου αποστολής μεταφρασμένη στην ανάλογη γλώσσα.
Ανοίγουμε το ακόλουθο αρχείο στον επεξεργαστή κειμένου:
catalog/model/shipping/citylink.php
Κάνουμε αναζήτηση για weight και την ModelShippingCitylink την κάνουμε ModelShippingElta και μετά όπου υπάρχει citylink (είτε σκέτη είτε μαζί με άλλες λέξεις) την κάνουμε elta
Επίσης στη γραμμή 40 το:
'code' => 'citylink.citylink',
'code' => 'elta.elta',
catalog/language/greek/shipping/citylink.php
...catalog/language/και-για-κάθε-άλλη-γλώσσα/shipping/citylink.php
Στο περιεχόμενο κάνουμε αναζήτηση για citylink και αντικαθιστούμε την λέξη citylink με την ονομασία της νέας μεθόδου αποστολής μεταφρασμένη στην ανάλογη γλώσσα.
Αποθηκεύουμε όλα τα αρχεία πατώντας save as με την ονομασία elta.php ή elta.tpl ανάλογα τον τύπο αρχείου. Για κάθε νέα μέθοδο αποστολής που κλωνοποιούμε, στις παραπάνω οδηγίες αντικαταστήσετε το citylink με την ονομασία της αποστολής ή της εταιρίας αποστολής αρκεί να είναι παντού η ίδια πχ Courier αντί για Citylink, courier αντί για citylink και courier.php / courier.tpl για τα αρχεία.
OpenCart-Hellas.gr - Administrator & Founder
PeoplesCode.com - Επίσημος Αντιπρόσωπος OpenCart | Extensions - Φιλοξενία - Αναβάθμιση - Μεταφορά - Τεχνική Υποστήριξη OpenCart
Ελληνική μετάφραση & Επεκτάσεις OpenCart