2013-06-16 1 views
-1

주문에 적용된 할인에서 '규칙 이름'(나는 고유 한 식별자라고 생각합니다. 예?)을 얻으려고합니다.Magento : 할인에는 "SKU"가 있습니까?

$order_id = Mage::getSingleton('checkout/session')->getLastOrderId(); 

$order = Mage::getModel('sales/order') 
->load($order_id); 

$order_items = $order->getAllItems(); 

foreach ($order_items as $itemId => $item) { 

나는이 또한 할인의 고유 식별자를 가져옵니다 제품 SKU를 ...을 처리하기 위해 $item->getSku();을 사용하고 있습니다 :

여기 리드 업 코드는?

대단히 감사합니다!


편집 AlanStorm 좋은 점은 내가 분명히거야 수 :

내가 처리하고있어 할인이 질문에 대한 "쇼핑 카트 규칙"을, 있습니다, 그들은 제품 별입니다.

그러면 두 번째 질문이 표시됩니다. 전체 주문에 적용된 '장바구니 규칙'의 고유 식별자 (예 : 모든 상품의 10 % 할인)를 얻으려면 어떻게해야합니까?

+0

"전체 주문에 쿠폰 적용"또는 "카탈로그 규칙을 통해 특정 항목 할인"할인입니까? 이것을 알면 사람들이 더 잘 대답 할 수 있습니다. –

+0

@AdamStorm - 좋은 점, 명확성 추가를 위해 고맙습니다. – Dan

답변

0

짧은 대답 : 아니요. 견적/주문 당 저장되며 각 견적/주문 항목에 추가로 저장됩니다. 사용 가능한 것과 사용하지 않는 것에 대해 내 answer을 참조하십시오. 따라서 discount_amount 만 주문에 저장됩니다. 이 값을 사용하여 할인율을 계산하거나 applied_rule_ids을 사용하여 규칙을로드하고 정보를 얻을 수 있습니다.

+0

할인의 고유 식별자는 'rule_id'이지만 '$ item-> getSku();'는'rule_id '를 반환하지 않습니까? 제 이해가 정확하다면, 감사합니다. – Dan

+0

네, 맞습니다. '$ item-> getRuleId();'또는'$ item-> getData ('rule_id');'를 사용할 수 있습니다. 마젠타에서는 모든 모델이 ID로 식별됩니다. 제품에는 skus와 ids 만 있습니다. –

관련 문제