我正在使用Magento 1.9。我想在list.phtml页面中显示“购物车中允许的最低数量”。例如,我在Product属性中设置了最小数量“6”,然后它应该在前端显示“6”。 我正在尝试编写此代码,但它正在抛出错误。也许我写错了代码。
<?php
$productQuantity = Mage::getModel("cataloginvetory/stock_item")->loadByProduct($_product->getId());
echo $productQuantity->getMinSaleQty(); ?>
我收到以下错误
致命错误:在 / /list.phtml
中的非对象上调用成员函数loadByProduct()答案 0 :(得分:2)
这里有一些逻辑
<?php
$stockItem = Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product);
echo $stockItem->getMinSaleQty() && $stockItem->getMinSaleQty() > 0 ? $stockItem->getMinSaleQty() * 1 : null;
?>
答案 1 :(得分:0)
Mage::getModel("cataloginvetory/stock_item")
未返回对象。使用var_dump()
找出Mage的静态函数返回的内容。
echo var_dump(Mage::getModel("cataloginvetory/stock_item"));
我认为它将返回NULL或false。如果是这种情况,getModel()
中可能出现问题(可能是错误的参数)
答案 2 :(得分:0)
我发现有两个错误。
首先,&#34; cataloginvetory / stock_item&#34;是一个错字。它应该是&#34; cataloginventory / stock_item。&#34;
其次,loadByProduct需要一个产品 - 而不是productId。
应该看起来像:
<?php
$productQuantity = Mage::getModel("cataloginventory/stock_item")->loadByProduct($_product);
echo $productQuantity->getMinSaleQty(); ?>
我无法测试getMinSaleQty()函数,因为我的网站上没有启用它。