It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center




8年前关闭。




任何人都知道如何在 Magento 中对折扣进行分组?如何设置每组最大总折扣?以及如何设置最大总折扣?
例如:
Discount Group 1:
a. Early Bird Discount = 10%
b. Member of ABC Organization = 8%
c. Member of BCD Organization = 5%
-----Total Maximum discount for this discount group = 15%

Discount Group 2:
a. Buy more than 5 items = 10%
b. Member of DFG Organization = 5%
c. Member of ASD Organization = 5%
-----Total Maximum discount for this discount group = 15%

-----Total Maximum discount for ALL discount group = 25%

最佳答案

不幸的是,不可能通过 Magento 的标准功能实现您需要的完全相同的功能。但是您可以使用折扣组创建自定义并通过观察事件 salesrule_validator_process 来验证折扣金额。

所以一步一步的开发建议:

  • 创建一个包含 2 个自定义表的新模型,这些表将包含以下字段:
  • 组表:
  • group_id - 主键
  • 名称 -
  • 组的名称
  • max_discount - 最大折扣金额
  • is_percent - 类型(固定或百分比)
  • 组到规则表
  • group_id - primary_key
  • rule_id - 销售/规则表主键的外键
    2. 为它实现管理界面
  • 为所有组创建最大折扣的配置字段。
  • 为事件 salesrule_validator_process 创建观察者,您可以在其中接收带有数据的此类事件:
  • $observer->getEvent()->getRule() - 当前应用规则的模型
  • $observer->getEvent()->getItem() - 应用此规则的当前报价项
  • $observer->getEvent()->getAddress() - 应用此规则的当前报价地址
  • $observer->getEvent()->getQuote() - 客户的当前报价
  • $observer->getEvent()->getQty() - 用于计算折扣的商品数量:固定商品折扣、商品价格百分比、商品价格百分比
  • $observer->getEvent()->getResult() - 带有作为折扣应用的数据的 Varien_Object,目前有两个属性。
  • getDiscountAmount() - 当前显示货币的折扣金额
  • getBaseDiscountAmount() - 网站基础货币的折扣金额
  • 在观察者模型中实现逻辑。您可以通过将它们存储在您的对象中并使用下一个规则应用过程来跟踪应用的规则 - 验证组最大值并更改应用的折扣金额。
  • 关于magento - 如何在 Magento 中分组折扣?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11556475/

    10-12 16:44