Magento Core API中的cart_shipping.list
方法不会返回管理网站上启用的所有送货/付款方式。启用的方法是统一费率,表费率,免费送货,UPS,USPS,FedEx 和 DHL 。致电cart_shipping.list
只会返回统一费率,免费送货和 UPS 。
为什么有任何想法?
我主要怀疑(在查看getShippingRatesCollection()
类的Mage_Sales_Model_Quote_Address
函数时)是为订单设置的送货地址用于过滤某些方法。但是,我不完全理解这种过滤是如何发生的,因为在前端使用相同的送货地址时不会出现这个问题(即我可以看到我期望看到的所有送货方法)。
答案 0 :(得分:5)
至少在我的情况下,我找到了解决这个问题的有效方案。
问题在于我没有在用于创建购物车的任何方法中指定商店ID,并指定其产品和递送/帐单地址,直至调用cart_shipping.list
。
这些方法包括:cart.create
,cart_customer.set
,cart_customer.addresses
和cart_product.add
。它们都将Store Id作为可选参数。指定此商店ID会导致前端显示所有出货方式,以显示相同的产品和送货地址。