Magento - 购买可下载产品时删除开票和发货信息

时间:2014-10-01 11:33:59

标签: php magento paypal checkout

我经营一家拥有多种可下载产品的Magento商店,当人们购买其他产品或者从其他地方获得我们的优惠券时,有些商品会免费提供下载代码。

所以有两个场景,1。人们只购买可下载的产品,用paypal付款,或者2.人们免费下载产品,如果他们有代金券。

虽然他们只是以客人身份下载文件而且我们不需要结算信息,但很多人输入结算信息是相当不错的。

当人们只下载产品时,有没有人遇到过摆脱账单信息的方法?这意味着他们实际上只能通过电子邮件结账,就像在bandcamp.com这样的页面上完成一样?

非常感谢你的想法。

2 个答案:

答案 0 :(得分:1)

你不会喜欢这个。
我认为从Magento中删除帐单邮寄地址是不可能的,而且不是在合理的费用范围内 它深深植根于订单机制中 对于送货地址,这应该是开箱即用的 如果您的订单中只有虚拟和可下载的产品,则结帐时不应显示送货地址和送货方法步骤。

但如果你坚持这样做,我可以给你一些指示,从哪里开始 首先,您需要修改onepagecheckout控制器,或者更好地编写自己的结账控制器来处理您的需求 然后在Mage_SalesMage_Checkout模块中查找文本getBillingAddresssetBillingAddress,并在这些值为null时处理这些情况。

这是一个更好地理解我所说的内容的例子 在订单模型的sendNewOrderEmail方法中有这个

$customerName = $this->getBillingAddress()->getName();

如果帐单邮寄地址为空,则需要更改此设置。如果它不是null,那就让它像现在一样工作。

答案 1 :(得分:0)

也许我应该更清楚,我不一定需要完全删除结算。我只需要一个名称和一个电子邮件地址来发送带有下载链接的购买邮件。但我需要摆脱街道,电话,城市等,或者不要求设置它们,但前提是所有产品都可以下载。

Magento已根据购物车检查我们是否需要运送。

所以我会想到像

这样的东西
  1. 检查OPC是否需要运输(或者,所有产品都可下载)
  2. 将结算字段更改为“不需要”或将其删除 2A。如果Magento需要一个地址,可能会设置一个隐藏客户的虚拟地址???
  3. 欢呼马雷克