【问题标题】:Show inventory of simple product of configurable products in Magento在 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");
}
?>
【问题讨论】:
标签:
magento
inventory
configurable-product
【解决方案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/>';
}