类别中的库存产品

In stock products in category

我想展示数量为 1 或更多的特定类别中的产品。请帮助我完成。

谢谢。

在此位置创建文件(将 XXX/YYY 替换为您的主题位置);

app/design/frontend/XXX/YYY/template/catalog/product/instock.phtml

在这个文件中放这个;

<?php

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

foreach($instockIds as $stock) {
    $idarray[] = $stock->getProductId();
}

// Get all products
// $_productCollection = Mage::getResourceModel('catalog/product_collection')->addAttributeToSelect('*');

// Load just 1 category, set the ID here
$categoryId = 12;
$_productCollection = Mage::getModel('catalog/category')->load($categoryId)
    ->getProductCollection()
    ->addIdFilter($idarray)
    ->addAttributeToSelect('*');

//Mage::getSingleton('cataloginventory/stock')->addInStockFilterToCollection($_productCollection);

$layout = Mage::getSingleton('core/layout');

$toolbar = Mage::getBlockSingleton('catalog/product_list')->getToolbarBlock();
$pager = $layout->createBlock('page/html_pager');
$block = $layout->createBlock('catalog/product_list');

$toolbar->setCollection($_productCollection);
$toolbar->setChild('product_list_toolbar_pager', $pager);
$toolbar->setPageSize(10);
$toolbar->setCurPage(1);
$toolbar->setCollection($_productCollection);

$block->setChild('toolbar', $toolbar);
$block->setCollection($_productCollection);
$block->setTemplate('catalog/product/list.phtml');

echo $block->renderView(); 

现在创建一个 cms 页面,设置您的页面设计以匹配您的类别默认值 - 左 2 列等。

在页面内容中,放这个;

{{block type="catalog/product_list" template="catalog/product/instock.phtml"}}

这将加载所有有库存或设置为不管理库存的产品。