2013-07-24 50 views
4

我有System->Configuration->Catalog->Inventory->Display Out of Stock Products选项设置为NoMagento隐藏缺货产品

但是这个缺货的产品仍然存在于类别列表中。这个配置选项是否适用于产品收集?如何隐藏类别产品集合中的缺货产品?

+5

您可能需要重建索引。 (系统 - >索引管理) – Marius

回答

1

为了使这项工作,你应该去System->Configuration->Catalog->Catalog和设置Use Flat Catalog ProductYes。之后刚刚推出Product Flat Index

1

请执行以下操作。

进入app/code/core/Mage/Catalog/Block文件夹并复制Navigation.php。在您的本地包中覆盖Navigation.php。你的包 开放Navigation.php并粘贴在该文件下面的代码:

if ($category->getIsActive()) { 

$cat = Mage::getModel('catalog/category')->load($category->getId()); 

$products = Mage::getResourceModel('catalog/product_collection')->addCategoryFilter($cat); 

Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($products); 

Mage::getSingleton('catalog/product_visibility')->addVisibleInCatalogFilterToCollection($products); 

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

if(count($products)==0) 

return; 

} 

这将隐藏断货的产品或从顶部菜单中的空语类。