在 Magento 中显示可配置产品的简单产品库存

Posted

技术标签:

【中文标题】在 Magento 中显示可配置产品的简单产品库存【英文标题】:Show inventory of simple product of configurable products in Magento 【发布时间】:2013-01-29 12:48:49 【问题描述】:

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

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

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

【问题讨论】:

【参考方案1】:

$_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/>';
 

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

【讨论】:

【参考方案2】:

我将所有产品相加为一个数字,然后不带逗号将其四舍五入:

$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;

【讨论】:

【参考方案3】:

请告诉我将添加波纹管代码的文件位置。

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/>';

【讨论】:

以上是关于在 Magento 中显示可配置产品的简单产品库存的主要内容,如果未能解决你的问题,请参考以下文章

Magento:如何显示可配置重复产品的重复配置文件信息

Magento 从目录和搜索中隐藏可配置产品

如何从magento 2中的可配置产品中获取简单产品

Magento 试图在产品展示和类别页面上根据“尺寸属性”显示产品价格范围?

Magento API:将预先存在的简单产品分配给可配置产品

Magento SOAP API v2 将简单产品链接到可配置产品