如何在Magento中创建统一费率的运输区域?

时间:2011-02-15 11:15:04

标签: magento shipping

我的客户有三个送货区: - 英国 - 欧洲 - 世界

根据落入三个区域之一的客户,每个产品的运输成本将是自动计算的固定费率。那可能在Magento吗?

2 个答案:

答案 0 :(得分:0)

创建一个新模块。创建一个继承自Mage_Shipping_Model_Carrier_Abstract,fx

的新模型类
class MyCompany_MyModule_Model_Flatrate extends Mage_Shipping_Model_Carrier_Abstract
{
    protected $_code = 'mycompany_flatrate'; // some unique shipping code

    public function collectRates(Mage_Shipping_Model_Rate_Request $data)
    {
        if(!$this->isActive())
        return false;


        /* @var $method Mage_Shipping_Model_Rate_Result_Method */
        /* @var $result Mage_Shipping_Model_Rate_Result */
        $method = Mage::getModel('shipping/rate_result_method');
        $result = Mage::getModel('shipping/rate_result');

        $method->setCarrier($this->_code);
        $method->setCarrierTitle($this->getConfigData('name'));
        $method->setMethod($this->_code);
        $method->setMethodTitle($this->getConfigData('name'));

        if($data->getDestCountryId() == '...')
            $method->setPrice(...); 
        else if (...)
           ...

        $result->append($method);
        return $result;
    }
}

并将以下内容添加到config.xml

  <default>
    <carriers>
        <mycompany_flatrate>
            <active>1</active>
            <model>mycompany_mymodule/flatrate</model>
            <name>Flatrate</name>
            <title>Flatrate</title>
            <sallowspecific>0</sallowspecific>
        </mycompany_flatrate>
    </carriers>
  </default>

<config>标记下。

答案 1 :(得分:0)

您可以尝试使用Webshopapps Matrixrate扩展程序。它有很多方法可以自定义表格运输。