3

我对 Magento 很陌生。据我了解,我需要形成可配置的产品,以管理不同尺寸的产品。我想在产品视图页面中分别显示每种尺寸的库存数量。这可能吗?我的属性名称是“大小”。我已使用以下代码获取库存数量。但是,它无法获得可配置产品的单个简单产品的库存数量。

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

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

3 回答 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/>';
 }

我让您适应您的确切需求并在需要时提出问题

于 2013-02-15T09:00:40.200 回答
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;
于 2014-09-03T20:04:42.037 回答
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/>';
}
于 2019-09-24T04:44:11.620 回答