在结账时防止在Magento中保存送货地址

时间:2012-03-26 15:17:41

标签: php magento checkout shipping

我们正在为一家航运公司开展一个项目,该项目与一个接送点网络协同工作。客户在结账时选择一个取货点(最接近他们的地址),并在订单到达时将其取货。

我们面临的问题是,当客户选择通过结账并立即注册时,正在保存的客户送货地址是来自取货点的地址。这里真正的问题是我们需要订单上的取件点地址才能打印标签等......但是需要防止Magento将所述地址保存到客户身上,这样他们就无法选择它作为以下结帐时可能的送货地址。

到目前为止尝试过的想法:

  • “customer_address_save_before”上的观察者。它似乎让我阻止保存地址,但我无法检测它是否在结账过程中被调用。
  • 使用保存拾取点地址的覆盖。将“save_in_address_book”设置为false无效(可能是因为我们正在注册)。

我最后的想法是模拟客人结账,但我不知道该怎么做。

有人能指出我正确的方向吗?

2 个答案:

答案 0 :(得分:2)

我会选择save_before观察者。您是否尝试过调试或Mage :: log()?您可能只是在配置观察者时遇到了一些问题。

如果save_before不能解决问题,那么当你清除任何已保存的地址时,save_after肯定是安全的。

答案 1 :(得分:0)

如果您使用的是OnePageCheckout,请检查opcheckout.js,我认为这是使用ajax调用保存送货地址的地方。