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 に答える