展示Magento中可配置产品的简单产品库存。

3

我对Magento还不是很熟悉。据我了解,我需要创建可配置产品来管理产品的不同尺寸。我想在产品查看页面上单独显示每个尺寸的库存数量。这个有可能吗?我的属性名称是“size”。我已经使用以下代码获取库存数量。但是,它无法获取可配置产品中各个简单产品的库存数量。

<?php   
$__manStock = $_product->getStockItem()->getManageStock();

$__invAmt =(int)Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product)->getQty('small');
if ($__manStock > 0)
    {
    echo $this->__("$__invAmt");
    }
?>
3个回答

17

$_product 是可配置类型的产品。

要获取其所有简单产品,请使用:

$_product->getTypeInstance(true)->getUsedProducts ( null, $_product);

所以你可能会有类似这样的东西:

foreach ($_product->getTypeInstance(true)->getUsedProducts ( null, $_product) as $simple) {
     $stock = Mage::getModel('cataloginventory/stock_item')->loadByProduct($simple)->getQty();
     echo $simple->getName()." with size ".$simple->getSize()." have a stock of $stock";
     echo '<br/>';
 }

我让你适应你的具体需求,并在需要时提出问题。


0
我将所有产品相加,并将其四舍五入为一个数字,无需逗号。
$itemsinstock = 0;
foreach ($_product->getTypeInstance(true)->getUsedProducts ( null, $_product) as $simple) {
    $stock = Mage::getModel('cataloginventory/stock_item')->loadByProduct($simple)->getQty();
    $stock = round($stock,2);
    echo $simple->getName()." : $stock pieces";
    echo '<br/>';
    $itemsinstock+= $stock;
}
echo $itemsinstock;

0
请告诉我在哪个文件位置添加下面的代码。
foreach ($_product->getTypeInstance(true)->getUsedProducts ( null, $_product) as $simple) {
  $stock = Mage::getModel('cataloginventory/stock_item')->loadByProduct($simple)->getQty();
  echo $simple->getName()." with size ".$simple->getSize()." have a stock of $stock";
  echo '<br/>';
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接