我有System->Configuration->Catalog->Inventory->Display Out of Stock Products
选项设置为No
。Magento隐藏缺货产品
但是这个缺货的产品仍然存在于类别列表中。这个配置选项是否适用于产品收集?如何隐藏类别产品集合中的缺货产品?
我有System->Configuration->Catalog->Inventory->Display Out of Stock Products
选项设置为No
。Magento隐藏缺货产品
但是这个缺货的产品仍然存在于类别列表中。这个配置选项是否适用于产品收集?如何隐藏类别产品集合中的缺货产品?
为了使这项工作,你应该去System->Configuration->Catalog->Catalog
和设置Use Flat Catalog Product
至Yes
。之后刚刚推出Product Flat Index
请执行以下操作。
进入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;
}
这将隐藏断货的产品或从顶部菜单中的空语类。
您可能需要重建索引。 (系统 - >索引管理) – Marius