0

在庫品を入手するために、これまでに持っているものは次のとおりです。

$productCollection = Mage::getModel('cataloginventory/stock_item')
                     ->getCollection()
                     ->addQtyFilter('>', 0);

echo $productCollection->getSelect();

foreach ( $productCollection as $currentProduct ) {

    $categoryIds = $currentProduct->getCategoryIds();

    print_r( $categoryIds );

}

製品は問題なく取得されますが、各アイテムの現在のカテゴリ ID を取得する必要があるため、上記のコード$currentProduct->getCategoryIds()では機能しません。

IN STOCK アイテムとそのカテゴリ ID を取得する方法を知っている人はいますか?

ありがとうございました。

4

2 に答える 2

2

次のコード サンプルを試すことができます。

...
foreach ( $productCollection as $currentProduct ) {
    $categoryIds = Mage::getModel('catalog/product')->load($currentProduct->getId())
        ->getCategoryIds();

    print_r( $categoryIds );
}
于 2013-01-22T21:43:50.237 に答える
0

これはすでにここで回答されているようです。

商品カテゴリ ID の取得方法については、次の URL を参照してください。

製品 ID からの Magento カテゴリ ID

商品のカテゴリ ID と名前を取得する

在庫があるかどうかは、次の方法で確認できますif statement

<?php   
$__manStock = $_product->getStockItem()->getManageStock();
$__invAmt = (int)Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product)->getQty();
    if ($__invAmt >= 1)
        {
    //Do Something here
    }
?>

さらには:

<?php if ($_product->isAvailable()): ?>
Do Something here
<?php endif; ?>
于 2013-01-22T19:05:15.947 に答える