2012-07-19 6 views
3

누구나 Magento에서 할인을 그룹화하는 방법을 알고 계십니까? 그룹당 최대 총 할인액을 설정하는 방법은 무엇입니까? 최대 총 할인액을 설정하는 방법은 무엇입니까? 예를 들어 :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% 

답변

6

는 Unfourtunatelly 정확히 젠토의 표준 기능을 통해 필요로하는 동일한 기능을 달성 할 수 없다. 그러나 할인 그룹을 사용하여 사용자 정의를 생성하고 salesrule_validator_process 이벤트를 관찰하여 할인 금액을 확인할 수 있습니다.

그래서 개발 단계의 조언에 따라 약간 단계 :

  1. 같은 분야해야합니다 2 사용자 정의 테이블에 새로운 모델 만들기 :
    • 그룹 테이블 :
      • GROUP_ID - 기본 키
      • 이름 - 그룹 이름
      • max_discount - 최대 할인 금액
      • is_percent - 유형 (고정 또는 백분율)
    • 그룹은 테이블에게
      • GROUP_ID을 지배하는 - primary_key와
      • RULE_ID - 판매 외래 키/차 규칙 테이블 키 2. 구현 관리 인터페이스를 그
      • 에 대한
  2. 모든 그룹에 대해 최대 할인을위한 구성 필드를 만듭니다.
  3. 데이터와 같은 이벤트를받을 귀하의 경우 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() 할인 금액 - 기본 웹 사이트 통화
  4. 할인 금액 것은 당신에게 관찰자 모델의 논리를 실현. 적용된 규칙을 개체 및 다음 규칙 적용 프로세스에 저장하여 추적 할 수 있습니다. 그룹 최대 값을 확인하고 적용된 할인 금액을 변경합니다.