Salut,
Vreau sa imi setez 2 curier diferiti, unul pentru Romania (mai putin ORASUL Cluj-Napoca) si al doilea doar pentru Cluj-Napoca. Pentru un curier (Urgent) am implementat modulul primit de la ei, care imi incarca lista de localitati in functie de judet.
Am gasit ceva pe forum dar pentru ceva versiuni mai vechi sau nu fac eu ceva corect, pentru ca nu imi functioneaza, si anume:
- am creat 2 zone si pentru fiecare zona cate un curier: "Romania" (fara Cluj-Napoca) si "Cluj-Napoca".
Acum, incerc sa setez, in functie de codul orasului Cluj-Napoca (in baza de date, in tabelul cu adrese, fiecare localitate are un cod "citycode") id-ul zonei "Cluj-Napoca", astfel ca atunci cand clientul alege ca adresa de livrare Cluj>Cluj-Napoca, sa ii apara ca modalitate de transport curierul alocat zonei respective.
Am incercat:
1.
in controllers/ParentOrderController.php, protected function _assignCarrier() sa schimb: if($address->citycode==164)
{ $id_zone=9; }
else $id_zone = Address::getZoneById((int)($address->id));
2.
In override/classes/Address.php
* Return citycode of address * * @param $id_address Address id * @return integer citycode */ public static function getCitycodeByAddress($id_address){ $row = Db::getInstance()->getRow(' SELECT `citycode` FROM '._DB_PREFIX_.'address a WHERE a.`id_address` = '.(int)($id_address)); return $row['citycode']; } $citycode=self::getCitycodeByAddress($id_address); if(in_array($citycode,array(176)){ return 9; }else ...
Am incercat ambele variante dar nu am reusit sa-l fac sa functioneze. Ce nu fac corect, sau unde ar trebui sa modific pentru a-i seta curierului id-ul zonei pentru orasul care ma intereseaza.
Folosesc Prestashop 1.6.0.14
Va multumesc!