Prestashop按州运费

时间:2012-04-05 10:45:09

标签: prestashop shipping

是否有机会在prestashop中通过运营商的状态设置运费?

即。假设我想要在阿拉巴马州发送与使用相同运营商的阿拉斯加不同的运费

由于

2 个答案:

答案 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)

这对我有用:

  1. 转到本地化 - >区域
  2. 根据State创建新的不同区域。例如。区域名称=" NSW"
  3. 转到本地化 - >州>
  4. 选择状态并更改其新区域。例如。 "新南威尔士州"现在改为" NSW"区。
  5. 转到Shipping-> Carriers
  6. 点击"编辑"关于运输方式。
  7. 点击"送货地点和费用"
  8. 现在更改每个区域的运费,该区域现在已经处于相关状态。