2011-08-16 96 views
2

我試圖將延期交貨產品的數量添加到新訂單電子郵件中發出的電子郵件模板中。Magento:獲取新訂單中的產品缺貨數量電子郵件

到目前爲止,我已經設法得到產品,但我似乎無法得到它的數量。我嘗試了各種方法,但似乎沒有任何工作。這裏是我的最新嘗試:

該文件應用程序/設計/前端/基/默認/模板/電子郵件/訂單/項目/順序/默認/ PHTML

<?php 
    // 1. Get Qty of Product in Store. 
    // 2. Get Qty of product from order 
    // 3. IF qty from order > qty in store then get number over 
    // 4. Display number over 

    $_sku = $this->getItem()->getSku(); 
    $_product = Mage::getModel('catalog/product')->loadByAttribute('sku', $_sku); 
    //print_r($_product); 
    echo 'qty in shop: '.$qtyInStock = $_product->getStockItem()->getQty(); //debugging 
    echo 'qty ordered: '.$qtyOrdered = $_item->getQtyOrdered()*1; //debugging 
?> 

<?php if($qtyOrdered > $qtyInStock): $back_order = $qtyOrdered - $qtyInStock; ?> 
    <p>* This product is not available in the requested quantity. <?php echo $back_order; ?> of the item(s) will be backordered.</p> 
<?php endif; ?> 

我還沒說完與邏輯呢。我只是停留在獲取產品數量上。

$_product->getStockItem()->getQty(); 

任何幫助最受讚賞。

比利

回答

3

找到了解決辦法:

$_product = Mage::getModel('catalog/product')->loadByAttribute('sku', $_sku); 
$stock_count = (int) Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product)->getQty(); 

似乎很迂迴,但它的工作。

隨意建議更好...

相關問題