2011-07-27 2 views
3

체크 아웃 장바구니 페이지에서 맞춤 버튼을 누른 후 항목 당 동적으로 할인 (예 : $ 10)을 설정하고 싶습니다. 나는 그것을 찾을 젠토의 코딩의 일부를 확인했다 : - 사람 (모든 젠토 코드) 할인에 대해 이야기 할 때 각 장바구니 항목에 동적 할인을 프로그래밍 방식으로 설정하는 방법은 무엇입니까?

  • 는 주로 "Mage_Sales_Model_Quote_Address"클래스는 항상 영향을받습니다.
  • 가 "Mage_Sales_Model_Quote_Address"2 개 인스턴스 - "운송"주소 유형에 대한 다른 "청구"주소 유형 & 하나지만, 후자는 주로 쿠폰 코드 관련 할인에 사용됩니다.

는이 지역을 확인 후, 나는대로, "Mage_Sales_Model_Quote_Address"의 "운송"주소 유형을 대상으로, 일부 코드를 작성했다 : -

$cart = Mage::getSingleton('checkout/cart'); 
$objShippingAddress = $cart->getQuote()->getShippingAddress(); 
$discountAmount = 10; 

$objShippingAddress->setDiscountDescription('any description'); 
$objShippingAddress->addTotal(array(
    'code' => 'discount', 
    'title' => "Custom Discount", 
    'value' => -$discountAmount, 
)); 

$totalDiscountAmount = $discountAmount; 
$subtotalWithDiscount = $discountAmount; 
$baseTotalDiscountAmount = $discountAmount; 
$baseSubtotalWithDiscount = $discountAmount; 

$objShippingAddress->setDiscountAmount($totalDiscountAmount); 
$objShippingAddress->setSubtotalWithDiscount($subtotalWithDiscount); 
$objShippingAddress->setBaseDiscountAmount($baseTotalDiscountAmount); 
$objShippingAddress->setBaseSubtotalWithDiscount($baseSubtotalWithDiscount); 

$objShippingAddress->setGrandTotal($objShippingAddress->getGrandTotal() - $objShippingAddress->getDiscountAmount()); 
$objShippingAddress->setBaseGrandTotal($objShippingAddress->getBaseGrandTotal() - $objShippingAddress->getBaseDiscountAmount()); 

하지만 여전히 나는하지 않는다 내 체크 아웃 장바구니의 "totals"섹션에있는 모든 행은 체크 아웃 주문 검토 섹션의 한 페이지에 &입니다.

아무도 도와주세요. 나는 그것이 가능할 수 있다는 것을 안다.

미리 감사드립니다.

+0

아무도이 사람을 시도 할 수 있습니까? 힘든 일이지만, Magento의 자격에서 이것을 시도한 사람이 있어야합니다. –

+3

Ivan의 답변을 확인하십시오 : http://stackoverflow.com/questions/4877413/magento-adding-duties-taxes-to-a -quote-while-review/4879662 # 4879662 그것은 나를 위해 일했습니다. – OSdave

+1

@OSdave가 맞습니다. 사용자 정의 수수료 또는 할인을 추가하는 가장 좋은 방법입니다. –

답변

0

할인 등급을 설정하라는 요청이있었습니다. 현재 할인 모델을 사용하여이 작업을 수행 할 수 없으므로 CartController에서 couponPostAction을 수정했습니다. 더미 쿠폰을 설정하고 고객에 대한 다른 정보를 기반으로 해당 쿠폰과 함께 계층화 된 할인 체계를 제공 할 수있었습니다.