【问题标题】:Magento - Get Category ID's of "In Stock" ItemsMagento - 获取“库存”项目的类别 ID
【发布时间】:2013-01-22 18:53:25
【问题描述】:

这是我目前所拥有的,以获取库存物品:

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

谢谢。

【问题讨论】:

    标签: php magento stock


    【解决方案1】:

    你可以试试这个代码示例:

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

    【讨论】:

      【解决方案2】:

      这里似乎已经回答了。

      有关如何检索产品类别 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; ?>
      

      【讨论】:

        猜你喜欢
        • 2020-03-05
        • 1970-01-01
        • 1970-01-01
        • 2011-05-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-06
        • 1970-01-01
        相关资源
        最近更新 更多