库存产品类别

时间:2015-01-14 08:11:16

标签: php magento magento-1.7

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

谢谢。

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"}}

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