我正在为magento编写一个API/Webservice模块。
我有一个货运web服务,它根据我作为参数发送的产品返回所有可用的承运人和运输方法。
我送
SKU0101
SKU0102
返回
DHL
DHL OVERNIGHT 20.10
DHL EXPRESS 15.20
FEDEX
FEDEX OVERNIGHT 21.10
FEDEX EXPRESS 15.20
我想在可用的载体/方法在前端填充,所以用户可以选择运输方法,但magento(至少我猜),只提供了一种方法来创建一个载体,多种运输方法,而我需要创建多个载体与多种运输方法
当然,我可以在模块中创建许多运营商,并根据我从webservice获得的内容填充它们,但这样我就需要每次将新运营商添加到我的webservice系统和我的客户端时升级模块,这将经常发生。
问题解决
我做了什么:
覆盖了Shipping和Quote address Rate模型,扩展了原来的模型,所以我不需要为我将从webservice获得的运营商和供应商提供任何配置,但保留了旧的父代码调用其父函数。在此之后添加了我的自定义逻辑。
<shipping>
<rewrite>
<shipping>Vendor_Shipping_Model_Shipping</shipping>
</rewrite>
</shipping>
<sales>
<rewrite>
<quote_address_rate>Vendor_Shipping_Model_Quote_Address_Rate</quote_address_rate>
</rewrite>
</sales>
也许值得和Parcelhub的David Craigon谈谈他们的多载波集成- http://www.parcelhub.co.uk/parcelhub-magento-shipping-software/
希望这对你有帮助,Ross