Magento: получите заказанное количество товара в новом заказе - PullRequest
2 голосов
/ 16 августа 2011

Я пытаюсь добавить количество продуктов с задержкой заказа к шаблону электронной почты, который появляется в электронном письме с новым заказом.

Пока мне удалось получить продукт, но я просто не могу получить его количество. Я пробовал различные методы, но ничего не работает. Вот моя последняя попытка:

Файл 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 Ответ

3 голосов
/ 16 августа 2011

Нашел решение:

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

Кажется довольно окольным, но он справляется.

Не стесняйтесь предлагать лучше ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...