2017-06-19 3 views
1

Ich bin mit Magento CE 1.8.x für jetzt und ich versuche, die Position Preisinformation für die Optionen auf einem festen Bündel zu packen:Magento: Get Fest Bundle Einzelposten Preise ab Bestellung

enter image description here

Hier ist mein aktueller Code, den ich nur zum Testen verwendet:

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

foreach ($order->getAllItems() as $item){ 
    echo $item->getPrice() . "<br>"; 
} 

Dies wird den Ausgang I von dem bekommen:

399.9900 
0.0000 
0.0000 

Gibt es eine Idee, wie ich die Preise der Werbebuchungen aus einem Fixed Bundle-Auftrag erhalten kann?

Antwort

1

die Antwort gefunden, nicht sicher, ob es am beste Praxis ist, aber es funktioniert alle einfachen Produktpreise aus einem Auftrag zu erhalten (einschließlich von Fest Bundles)

foreach ($order->getAllItems() as $item){ 

    /* Simple Product */ 
    if(($item->getProduct()->getTypeID() == 'simple') && !$item->getParentItemId()){   
     $prices[] += $item->getPrice(); 
    } 

    /* Bundle (Fixed & Dynamic) Products */ 
    if($item->getProduct()->getTypeID() == 'bundle'){ 
     $items = $item->getProductOptions();  
     $options = $items['bundle_options']; 

     foreach ($options as $option) {    
      $price = $option['value'][0]['price'];  
      $prices[] = number_format((float)$price, 2, '.', ''); 
     } 
    } 
} 

echo '"' . implode($prices,', ') . '"'; 

Dies gibt das Beispiel in der ursprünglichen Frage wie diese :

"349.99, 50.00"

Verwandte Themen