Как показать "Минимальное кол-во разрешено в корзине" на странице со списком товаров
Я использую Magento 1.9. Я хочу показать "Минимальное кол-во разрешено в корзине" на странице list.phtml. Например, я установил минимальное количество "6" в атрибуте "Продукт", тогда он должен показывать "6" в начале. Я пытаюсь написать этот код, но он выдает ошибку. Возможно я пишу неправильный код.
<?php
$productQuantity = Mage::getModel("cataloginvetory/stock_item")->loadByProduct($_product->getId());
echo $productQuantity->getMinSaleQty(); ?>
Я получаю следующую ошибку
Неустранимая ошибка: вызов функции-члена loadByProduct() для необъекта в //list.phtml
3 ответа
Здесь немного логики
<?php
$stockItem = Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product);
echo $stockItem->getMinSaleQty() && $stockItem->getMinSaleQty() > 0 ? $stockItem->getMinSaleQty() * 1 : null;
?>
Есть две ошибки, которые я вижу сразу.
Во-первых, "cataloginvetory / stock_item" - это опечатка. Это должно быть "каталог инвентаризации / stock_item."
Во-вторых, loadByProduct принимает продукт, а не идентификатор продукта.
Это должно выглядеть так:
<?php
$productQuantity = Mage::getModel("cataloginventory/stock_item")->loadByProduct($_product);
echo $productQuantity->getMinSaleQty(); ?>
Я не смог протестировать функцию getMinSaleQty(), потому что у меня не включено на моем сайте.
Mage::getModel("cataloginvetory/stock_item")
не возвращает объект. использование var_dump()
чтобы узнать, что возвращает статическая функция Мага.
echo var_dump(Mage::getModel("cataloginvetory/stock_item"));
Я предполагаю, что он вернется с NULL или false. Если это так, то что-то идет не так в getModel()
(возможно, неверные параметры)