magento - 我如何在 Magento 中获取估计的运输邮政编码?

标签 magento magento-1.7

我正在编写一个自定义运费模块,但我似乎无法弄清楚如何获取预估运费邮政编码……我知道如何在订单创建后获取邮政编码,但不知道预估运费部分结帐流程

非常感谢任何输入!

杰夫

最佳答案

在下订单之前,有关客户购物车的全部信息都保存在 Mage_Sales_Model_Quote 模型中。因此,您可以从报价单中获取送货地址模型。从送货地址模型中,您可以获得邮政编码,在那里称为“邮政编码”。因此,您最初唯一需要做的就是为客户获取报价。

报价可以通过不同的方式获得:

  • 通过其 id 或任何其他属性从数据库加载
  • 从结帐 session 中收到
  • 从结帐购物车模型收到

最通用的方法是通过从数据库加载报价来获取报价——这可以在所有 Magento 工作流程和领域(API、前端、后端等)中完成。

但对于您的情况,最直接的方法是从 Checkout Cart 模型获取报价,因为您不需要知道它的报价 ID - 在前端 Magento 会自动加载带有适当客户数据的购物车。

/** @var $cart Mage_Checkout_Model_Cart */
$cart = Mage::getSingleton('checkout/cart');
$quote = $cart->getQuote();
$shippingAddress = $quote->getShippingAddress();
$zip = $shippingAddress->getPostcode();

为了更深入地了解为什么在这种方法中使用 Checkout Cart:Checkout 模块在前端管理整个结帐流程。它处理组成购物车、查看它、完成结帐步骤和下订单。 Checkout 模块还将客户的报价模型存储在其 Cart 模型中。虽然 Quote 存储了完整的信息并且可以在任何地方使用来操纵客户的购物车,但 Cart 模型只是一个临时服务模型来帮助 Checkout 模块履行其职责,它可以在 frontend 用于 当前客户。

关于magento - 我如何在 Magento 中获取估计的运输邮政编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14341415/

相关文章:

magento - 规范标签 magento

magento:获取 MPN(制造商零件号)或 UPC(通用产品代码)

api - Web API 中的当前 PayPal 费用?

php - Magento - 需要自定义客户登录和注册表,但登录表单和注册表来自持久文件夹

magento-1.7 - 无法将自定义字段添加到注册表单以保存

php - 无法在 Magento 中添加 css

php - Magento child html - 获取父调用者

java - 从外部站点添加产品并从 Java 与 Magento 建立连接

php - 单页结账停留在账单上,无法进入下一步

magento - 在 magento 自定义模块的后端添加多个选项卡和表单,就像客户后端位置一样