Jef*_*rts 2 magento magento-1.7
我正在写一个自定义的运费模块,我似乎无法弄清楚如何获得估计发货邮政编码...我知道如何在订单创建后获得邮政编码,但不知道结账的估计运费部分处理
任何输入都非常感谢!
杰夫
有关客户购物车的全部信息将保留在Mage_Sales_Model_Quote模型中,直至下订单.因此,您可以从报价中获取送货地址模型.从Shipping Address模型中,您可以获得邮政编码,在那里称为"邮政编码".因此,您最初需要的唯一一件事就是为客户提供报价.
Quote可以通过不同的方式获得:
最常见的方法是通过从DB加载来获取Quote - 这可以在所有Magento工作流程和区域(API,前端,后端等)中完成.
但对于你的情况,最简单的方法是从Checkout Cart模型中获取Quote,因为你不需要知道它的引用ID - 在前端Magento自动加载带有适当客户数据的Cart.
/** @var $cart Mage_Checkout_Model_Cart */
$cart = Mage::getSingleton('checkout/cart');
$quote = $cart->getQuote();
$shippingAddress = $quote->getShippingAddress();
$zip = $shippingAddress->getPostcode();
Run Code Online (Sandbox Code Playgroud)
为了更加了解,为什么在这种方法中使用Checkout Cart:Checkout模块管理前端的整个结账过程.它处理组合购物车,查看它,完成结帐步骤和下订单.结账模块还将客户的报价模型存储在购物车模型中.虽然Quote存储了整个信息,并且可以在任何地方用来操纵客户的购物车,但Cart模型只是一个临时服务模型,可以帮助Checkout模块履行其职责,并且可以在前端用于当前客户.