Prestashop 1.5.3.1。免费送货

Prestashop 1.5.3.1。免费送货,prestashop,Prestashop,如何为我的每个承运人设置不同的免费运输边界?例如 承运人1:免费送货开始@100美元 承运人1:免费送货开始@200美元编辑模块到特定快递。这很容易。转到后台->配送->价格范围。您可以为每个运营商添加不同的范围。创建所有范围后,再次单击配送。滚动至底部,您将看到“按承运人、地理区域和范围划分的费用”。瞧 好吧,我不是这样做的。我使用覆盖添加了第二个免费送货价格,然后在cart.php中我将其连接到了一个特定的承运商(id) 覆盖: 'PS_SHIPPING_FREE_PRICE' =>

如何为我的每个承运人设置不同的免费运输边界?例如 承运人1:免费送货开始@100美元
承运人1:免费送货开始@200美元

编辑模块到特定快递。

这很容易。转到后台->配送->价格范围。您可以为每个运营商添加不同的范围。创建所有范围后,再次单击配送。滚动至底部,您将看到“按承运人、地理区域和范围划分的费用”。瞧

好吧,我不是这样做的。我使用覆盖添加了第二个免费送货价格,然后在cart.php中我将其连接到了一个特定的承运商(id) 覆盖:

'PS_SHIPPING_FREE_PRICE' => array(
                        'title' => $this->l('Free shipping starts at'),
                        'suffix' => $this->context->currency->getSign(),
                        'cast' => 'floatval',
                        'type' => 'text',
                        'validation' => 'isPrice'),
                    'PS_SHIPPING_FREE_PRICE2' => array(
                        'title' => $this->l('Free shipping2 starts at'),
                        'suffix' => $this->context->currency->getSign(),
                        'cast' => 'floatval',
                        'type' => 'text',
                        'validation' => 'isPrice'),
cart.php:
$configuration=configuration::getMultiple(数组( “PS_装运_免费_价格”, “PS_运输_免费_价格2”, “PS_运输_处理”, “PS_装运方法”, “PS\装运\自由重量” ));

    // Free fees
        $free_fees_price = 0;
        if (isset($configuration['PS_SHIPPING_FREE_PRICE']))
            if($id_carrier==27)  
            $free_fees_price = Tools::convertPrice((float)$configuration['PS_SHIPPING_FREE_PRICE2'], Currency::getCurrencyInstance((int)$this->id_currency));
        else
            $free_fees_price = Tools::convertPrice((float)$configuration['PS_SHIPPING_FREE_PRICE'], Currency::getCurrencyInstance((int)$this->id_currency));
这对我来说很好,但是每次你更新你的运营商,它都会得到新的id,所以你必须更新和cart.php
另外,最好使用cart.php的覆盖,但我就是做不到

这个和PrestaShop的唯一问题是,如果你提供免费送货服务,例如一个0磅的物品,你可以添加另一个物品,它将允许第二天运送这个免费物品,并向你收取费用。