我想在数量为1或更多的特定类别中展示产品。请帮我完成。
谢谢。
答案 0 :(得分:0)
在此位置创建文件(将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"}}
这将加载所有有库存或设置为不管理库存的产品。