2011-05-26 12 views
3

が、私は次のコードで購入された製品の一覧取得支障がない:バンドル製品のオプションを成功ページに表示するにはどうすればよいですか?成功ページ

$order = Mage::getModel('sales/order')->loadByIncrementId($this->getOrderId()); 
foreach ($order->getAllItems() as $item){ 
    $subtotal = number_format($item->getSubtotal(),2); 
} 

私は何を把握することはできませんが、オブジェクトまたはオプションの配列を取得する方法ですバンドルされた製品の場合。これらは、製品がどのような色を帯びるかのような標準的なオプションです。

答えて

6

私はバンドルされた製品でこれを具体的に試していませんが、以下のコードは設定可能な製品で動作しますので、必要に応じて状況に合わせて変更することができます。

$order = Mage::getModel('sales/order')->loadByIncrementId($this->getOrderId()); 
foreach ($order->getAllItems() as $item){ 
    $productOptions = $item->getProductOptions(); 
    if (isset($productOptions['attributes_info'])) { 
     foreach ($productOptions['attributes_info'] as $productOption) { 
     echo $label = $productOption['label']; 
     echo '<br />'; 
     echo $value = $productOption['value']; 
    } 
    } 
} 

私の提案は、幅広いを開始することである(すなわち$itemレベル)、MagentoのはZend_Debug::dump($item->getData())を使用して(返すか見て、その後、あなたが必要なものまで、あなたのように動作します。

希望に役立ちます。

+0

ありがとう! –

+0

私の製品オプションでattributes_infoが見つかりませんでした。私の場合はbundle_optionsでした。誰かが同じものを見つけて、コードが動作していないと思っても通知したいのですが、小さな改善の後に働いています – JunaidFarooqui

+0

また、$ order-> getAllItemsの代わりに$ order-> getAllVisibleItems( )より良い結果を得るために。 – JunaidFarooqui

関連する問題