Magento Shipping Method Rate返回NULL

时间:2015-06-17 14:49:03

标签: php xml magento shipping

我在Magento中创建了一种新的送货方式,以便与Onepage Checkout一起使用。该方法出现在前端并定义,但无论何时尝试检索速率,它都返回NULL。具体在Mage/Sales/Model/Quote.php$method会返回我的方法,但$rate = null

模块:

protected $_code = 'module_shipping';

public function collectRates(Mage_Shipping_Model_Rate_Request $request)
{
    $result = Mage::getModel('shipping/rate_result');

    $result->append($this->_getMyShippingShippingRate());

    return $result;
}

protected function _getMyShippingShippingRate()
{
    $rate = Mage::getModel('shipping/rate_result_method');

    $rate->setCarrier($this->_code);

    $rate->setCarrierTitle($this->getConfigData('title'));

    $rate->setMethod('my_ship_fn');
    $rate->setMethodTitle('A New Method');

    $rate->setPrice(0);
    $rate->setCost(0);

    return $rate;
}

public function getAllowedMethods()
{
    return array(
        'my_ship_fn' => 'A New Method',
    );
}

Config.xml

<default>
    <carriers>
        <module_shipping>
            <active>1</active>
            <model>company_retailshipping/carrier_myshippingfn</model>
            <title>A New Method</title>
            <sort_order>10</sort_order>
            <sallowspecific>0</sallowspecific>
        </module_shipping>
    </carriers>
</default>

1 个答案:

答案 0 :(得分:0)

请详细说明“它返回NULL。特别是在Mage / Sales / Model / Quote.php中,$ method返回我的方法,但$ rate = null。” - 或许提供一些班级/行号以供参考。你的代码看起来是正确的,如果它出现在前端那么应该没问题。我可能会猜测另外一个模块也许正在干扰。