如何显示“购物车中允许的最低数量"在产品列表页面

时间:2014-07-16 16:47:51

标签: php magento shopping-cart product

我正在使用Magento 1.9。我想在list.phtml页面中显示“购物车中允许的最低数量”。例如,我在Product属性中设置了最小数量“6”,然后它应该在前端显示“6”。 我正在尝试编写此代码,但它正在抛出错误。也许我写错了代码。

 <?php 
$productQuantity = Mage::getModel("cataloginvetory/stock_item")->loadByProduct($_product->getId());
echo $productQuantity->getMinSaleQty(); ?>

我收到以下错误

致命错误:在 / /list.phtml

中的非对象上调用成员函数loadByProduct()

3 个答案:

答案 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()函数,因为我的网站上没有启用它。