首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Magento进行团购折扣?

如何在Magento进行团购折扣?
EN

Stack Overflow用户
提问于 2012-07-19 08:06:23
回答 1查看 872关注 0票数 3

有人知道如何将马根托的折扣分类吗?如何设置每组的最大总折扣?以及如何设置最大总折扣?例如:

代码语言:javascript
复制
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%
EN

回答 1

Stack Overflow用户

发布于 2012-07-19 09:02:02

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

因此,一步一步地为发展提供建议:

  1. 创建一个具有两个自定义表的新模型,其中包含这样的字段:
    • 组表:
      • group_id -主键
      • 名称-团体名称
      • max_discount -最大折扣额
      • is_percent -类型(固定或百分比)

代码语言:javascript
复制
- Group to Rule table 
    - group\_id - primary\_key
    - rule\_id - foreign key to sales/rule table primary key  2. Implement admin interface for it

  1. 为所有组创建最大折扣的配置字段。
  2. 为事件salesrule_validator_process创建观察者,其中您使用data:接收这样的事件
    • $observer->getEvent()->getRule() -当前应用规则的模型
    • 适用于此规则的$observer->getEvent()->getItem()当前报价项。
    • 适用于此规则的$observer->getEvent()->getAddress() -当前报价地址。
    • $observer->getEvent()->getQuote() -客户当前报价
    • $observer->getEvent()->getQty() -用于计算折扣的项目数量:固定项目折扣,项目价格的百分比,到项目价格的百分比。
    • $observer->getEvent()->getResult() - Varien_Object是以折扣形式应用的数据,目前有两个属性.
      • getDiscountAmount() -按当前显示的货币计算的折扣金额
      • getBaseDiscountAmount() -以基本网站货币计算的折扣金额

  1. 在观察者模型中实现你的逻辑。您可以通过将应用规则存储在对象中来跟踪已应用的规则,并使用下一条规则应用过程--验证组的最大值和更改应用的折扣金额。
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11556475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档