如何在Magento中为结帐添加自定义送货和付款选项?

时间:2012-06-25 07:18:29

标签: php magento e-commerce magento-1.5

运行Magento 1.5.1。我的网上商店包含许多直接从制造商发货的产品。运输成本变化很大,由于我们携带的产品数量,确定许多物品的运输成本是不可行的。

我想在结帐时添加“请求报价”选项。我的基本想法是:

- 没有重量或尺寸的物品将需要通过RFQ(报价请求)流程。在结账时,如果用户的购物车中有需要RFQ的商品(因为它没有定义重量或尺寸),它将提供一个运输选项:“请求运费报价”。 - 下一步是付款屏幕。而不是实际的支付选项,将出现“稍后支付发票”或“收到报价时支付”选项。用户将被迫选择此项(或者我们可以完全跳过付款屏幕?)。

这似乎相对容易破解,但我想知道我是否会以错误的方式解决这个问题?有更简单的方法吗?我的想法是修改结账代码以检查重量或尺寸,如果没有,只显示一个运输选项(我可能会重新使用“免费送货”作为该选项)。然后,在付款屏幕中,检查订单中是否选择了免费送货,然后显示自定义付款选项(可能是重新检查或汇票选项)。从那里,我们通过Paypal或类似的方式向他们发送官方报价。

有什么想法?谢谢!

1 个答案:

答案 0 :(得分:3)

我会提供my normal advice:有很多扩展可以让这种情况发生。我的理念是在尝试使用magento编写任何代码之前开始查看扩展。升级破坏时特别有用;他们通常会修复明显影响他们自己的免费扩展的升级问题。

在您的情况下,有一个免费的自定义送货选项扩展我用于“Will Call”,您可以将其用于“RFQ”目的。我强烈建议不要搞乱付款模块。我已经用PHP编写了6个或更多“支付”内容,用于实时网站和管理员后端使用。直到你真正了解Magento,你在浪费时间和金钱编写代码。如果您的问题是让网站正常运作以便您可以赚钱,那就去购买可以完成工作的扩展程序......

为了继续编写代码,我在联系表单中提交了一些代码以添加google re-capcha以及让客户从现有产品属性(车辆年份,品牌,型号)中进行选择。我最终能够弄清楚如何将这些反映在我们从联系表单中获得的电子邮件中,但是,没有数据库持久性,这是正确的解决方案。此外,代码中的错误快速轻松地以意想不到的惊人方式打破了Magento,因此我在这里的正常Magento回复强烈要求人们购买扩展。如果你问的问题就像我要问的那样,你就不知道做一个专业的扩展......买一些适当的扩展,分析它们,花很多时间试图解决它。

还有很多扩展程序竞争执行相同的任务,所以应该有一些已经有效的东西可以做你想要的。