是否有机会在prestashop中通过运营商的状态设置运费?
即。假设我想要在阿拉巴马州发送与使用相同运营商的阿拉斯加不同的运费
由于
答案 0 :(得分:5)
有几种方法可以做到这一点。您可以购买外部模块,例如this one,或创建覆盖like so:
1)将“classes / Address.php”复制到“override / classes / Address.php”。
2)在第28行中,将类名从AddressCore更改为Address
3)在函数getZoneById之前,粘贴这个新函数
/**
* Return postcode of address
*
* @param $id_address Address id
* @return integer postcode
*/
public static function getPostcodeByAddress($id_address){
$row = Db::getInstance()->getRow('
SELECT `postcode`
FROM '._DB_PREFIX_.'address a
WHERE a.`id_address` = '.(int)($id_address));
return $row['postcode'];
}
4)在第一行函数getZoneById之前添加:
$postcode=self::getPostcodeByAddress($id_address);
if(in_array($postcode,array(your list of postcodes))){
return id-of-your-zone;
}
答案 1 :(得分:2)
这对我有用: