2012-02-21 6 views
0

Magento 용 배송 모듈을 개발 중이지만 현재 해당 세션의 장바구니에있는 항목을 가져 오는 방법에 대해 고민하고 있습니다. Magento Shipping Module : 현재 장바구니에 담긴 모든 상품보기

내가 인터넷에서 몇 가지 튜토리얼을 따라, 그들은 사용

if ($request->getAllItems()) { 
    foreach ($request->getAllItems() as $item) { 
     //do something here..... 

    } 
} 

내 문제는 내가 $ 항목 변수에 정확히 어떤 정보/데이터를 모르겠입니다?.

운송료를 계산하기 위해 현재 카트에있는 제품의 무게와 가격을 원합니다. Mage :: log을 사용하여 $ item 값을 인쇄하려고했거나 print_r 또는 var_dump을 사용하여 화면에 인쇄했지만 성공하지 못했습니다. 로그가 비어 있고 변수가 화면에 인쇄되지 않습니다.

누군가가 $item attributes/method을 얻는 방법을 알려 줄 수 있습니까? 아니면 현재 카트에있는 제품 정보를 얻는 다른 방법이 있습니까?

어떤 도움이 많이 주시면 감사하겠습니다 :)

+0

"내 문제는 $ item 변수에있는 정보/데이터가 정확히 무엇인지 모르겠다"입니다. - 당신은 항상 $ item-> getData() 또는 $ item-> debug()를 사용하여 모든 데이터 (속성 자)를 "가져올"수 있습니다. 그리고 get 메소드에 get_class_method (object)를 사용합니다. – xyz

답변

2

당신이 Mage::getSingleton('checkout/session')->getQuote();

  • getItemsCollection()에서 사용할 수있는 세 가지 방법 중 하나를 사용하여이 작업을 achive 수 - sales/quote_items 수집
  • getAllItems()를 가져 오지 - 모든 항목을 가져 오지
  • getAllVisibleItems() - 삭제되지 않고 가지고있는 항목을 되 찾으십시오. parent_item_id != null
  • 당신이 $ 항목에 대한 정보를 알고 싶다면
0

, 당신은이 작업을 수행 할 수 있습니다

print_r($item->getData()); 

당신이 항목 무게를 얻고 싶은 경우에, 여기있다 :

$item->getWeight(); 
+0

시도했습니다. print_r, var_dump를 사용하여 인쇄하고 Mage :: log를 사용하여 로그 파일에 항목을 인쇄하지만 화면에는 아무 것도 인쇄되지 않으며 로그도 비어 있습니다. 배송 계산은 AJAX를 사용하여 호출되는 결제 단계에서 수행되므로 화면에 인쇄되지 않는 것이 원인 일 수 있습니다. – Calua

+0

다음을 시도해보십시오. print_r ($ item-> getData()); 출구; 귀하의 아약스 응답을 확인하십시오 (언젠가 메이지 로그가 작동하지 않는 것 같아요) – sondoha

+0

나는 그것을 시도하고 아약스 호출을 계속 실행하고 반환하지 (아니 아약스 응답) – Calua

1
내가 검색 한

이 솔루션은 아래에서 찾을 수 있습니다. 그러나 테스트되지 않았습니다.

$CartSession = Mage::getSingleton('checkout/session'); 
foreach($CartSession->getQuote()->getAllItems() as $item) 
{ 
    $productWeight = $item->getWeight(); 
    $productExPrice = $item->getPrice(); // price excluding tax 
    $productIncPrice = $item->getPriceInclTax(); // price excluding tax 
}