这是我到目前为止所获得的IN STOCK项目:
$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?
谢谢。
答案 0 :(得分:2)
您可以尝试以下代码示例:
...
foreach ( $productCollection as $currentProduct ) {
$categoryIds = Mage::getModel('catalog/product')->load($currentProduct->getId())
->getCategoryIds();
print_r( $categoryIds );
}
答案 1 :(得分:0)
这似乎已在此处得到解答。
请参阅以下网址,了解如何检索产品类别ID:
Magento category ID from product ID
Get product's category ids and names
您可以使用以下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; ?>