如何覆盖Mage_Shipping_Model_Rate_Result_Method?

How to override Mage_Shipping_Model_Rate_Result_Method?

我想覆盖 magento 的这个核心模型并遵循我的代码,我不知道为什么它不起作用

<global>
    <models>
        <shipping_rate>
            <rewrite>
                <result_method>Mcc_Customshippingprice_Model_Rate_Result_Method</result_method>
            </rewrite>
        </shipping_rate>
    </models>
</global>

这是模特 class

class Mcc_Customshippingprice_Model_Rate_Result_Method extends Mage_Shipping_Model_Rate_Result_Method {
    public function setPrice($price) {
        $this->setData('price', 1999);
        return $this;
    }

}

该模块是 Mage_Shipping,代码为 shipping,而您要重写的 class 的别名是 shipping/rate_result_method,而不是 shipping_rate/result_method,因此正确的方法是:

<global>
    <models>
        <shipping>
            <rewrite>
                <rate_result_method>Mcc_Customshippingprice_Model_Rate_Result_Method</rate_result_method>
            </rewrite>
        </shipping>
    </models>
</global>