php - Magento - 购买可下载产品时删除账单和运输信息

标签 php magento paypal checkout

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

所以有 2 种情况,1. 人们只购买可下载的产品,使用 paypal 付款,或者 2. 人们免费下载产品,如果他们有优惠券的话。

虽然他们只是作为访客下载文件,而我们不需要账单信息,但对于许多人来说,输入账单信息是相当烦人的。

有没有人想过在人们只下载产品时删除帐单信息的方法?这意味着他们实际上只能使用电子邮件结账,就像在 bandcamp.com 等页面上所做的那样?

非常感谢您的想法。

最佳答案

你不会喜欢这个的。
我认为从 Magento 中删除账单地址是不可能的,而且成本不合理。
深度嵌入订单机制。
对于送货地址,这应该是开箱即用的。
如果您的订单中只有虚拟和可下载的产品,则送货地址和送货方式步骤不应出现在结帐中。

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

这里有一个例子可以更好地理解我在说什么。
在订单模型的 sendNewOrderEmail 方法中有这个

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

如果帐单地址为空,您需要更改此设置。如果它不为空,让它像现在一样工作。

关于php - Magento - 购买可下载产品时删除账单和运输信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26140422/

相关文章:

php - 如何对具有重复值的数组值进行排序并在出现平局时跳过某些位置?

php - 通过 PHP 从 SQL DB 获取 100 个最新的数据库条目

mysql - 在 Solr 中搜索

php - API调用引用信用和直接支付的区别

paypal - 如何使用 paypal rest api 解决 400 错误请求错误?

php - 如何返回带有数组 Laravel 5 的 json

Magento - 从名称获取国家/地区 ID - 有更简单/更快的方法吗?

.htaccess - 网站网址从自然搜索重定向到主页

paypal - 使用 Paypal 或其他支付处理服务进行小额支付处理?

php - PHP:如何解析从YouTube JSON响应派生的关联数组?