【问题标题】:Restricting customers to max of 2 purchases for a certain product in Magento在 Magento 中限制客户最多购买 2 次特定产品
【发布时间】:2013-05-08 10:18:56
【问题描述】:

我目前在尝试限制客户最多购买 2 件产品时遇到问题。

到目前为止,我可以使用目录/管理产品将购物车中产品的最大数量设置为 2,选择产品,然后进行库存并将购物车中允许的最大数量调整为 2。

但是,这不会阻止用户改天再来购买另外 2 件商品。

我想做的是创建一个规则,这样当用户登录并尝试购买产品时,在已经购买之后,代码会抛出一个错误,说他们已经达到最大数量并阻止购物车从处理订单。

我认为我必须编辑其中一个 php 文件来检查用户 ID 和产品 ID,但我不确定需要编辑哪个文件。

Magento 版本。 1.3.2.4

对我有帮助的链接,希望对你有帮助:

step 1 step 2

【问题讨论】:

  • 首先,您永远不会编辑核心中的任何文件,因为在以后的任何更新中,您的更改都将被覆盖。解决方案是创建一个自定义扩展。

标签: php magento


【解决方案1】:

首先创建一个观察者checkout_cart_add_product_before

在此观察者事件中检查产品的购物车数量,您可以从报价对象中获取 qoute 项目,并从报价中检索产品数量,如果满足条件,则与新添加的产品匹配,然后将客户重定向到带有消息的产品详细信息页面

【讨论】:

  • 感谢您的回复,经过一番研究,我需要创建一个模块,然后创建一个事件观察器,这样是否正确?我去看看。
  • 是的,这是正确的。它可能不像现有模块那么简单,但它允许你想要的功能。
  • 这似乎是要走的路,也不是太难。我在我的问题中添加了 2 个链接,这些链接帮助我做到了这一点,希望对其他人有所帮助。
【解决方案2】:

为了支持未来的兼容性并防止您的更改被覆盖,您应该创建一个与核心挂钩的自定义扩展。

你可以试试钩子:checkout_cart_add_product_completecheckout_cart_add_product_before 并测试每个产品的项目数。根据该结果,您可能会自动删除该项目并解析错误。

【讨论】:

  • 感谢您的回复,是否有任何插件/扩展可以处理这个问题?我是 Magento 的新手,正在寻找快速解决方法
猜你喜欢
  • 2017-11-03
  • 1970-01-01
  • 2019-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-17
  • 2022-01-11
相关资源
最近更新 更多