Magento:在新订单电子邮件中获取产品延期交货数量

时间:2011-08-16 12:50:52

标签: magento

我正在尝试将延期交货产品的数量添加到新订单电子邮件中的电子邮件模板中。

到目前为止,我已经设法获得了产品,但我似乎无法得到它的数量。我尝试过各种各样的方法,但似乎没什么用。这是我最近的尝试:

该文件是 app / design / frontend / base / default / template / email / order / items / order / default / 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();

最值得赞赏的任何帮助。

比利

1 个答案:

答案 0 :(得分:3)

找到解决方案:

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

似乎非常迂回但它确实起作用了。

随意建议更好......