나는 System->Configuration->Catalog->Inventory->Display Out of Stock Products
옵션을 No
으로 설정했습니다.Magento 재고 없음 제품
그러나이 재고가없는 제품은 여전히 카테고리 목록에 있습니다. 이 구성 옵션이 제품 컬렉션에서 작동합니까? 카테고리 제품 컬렉션에서 품절 된 제품을 숨기려면 어떻게해야합니까?
나는 System->Configuration->Catalog->Inventory->Display Out of Stock Products
옵션을 No
으로 설정했습니다.Magento 재고 없음 제품
그러나이 재고가없는 제품은 여전히 카테고리 목록에 있습니다. 이 구성 옵션이 제품 컬렉션에서 작동합니까? 카테고리 제품 컬렉션에서 품절 된 제품을 숨기려면 어떻게해야합니까?
이 작업을 수행하려면 으로 가서 Use Flat Catalog Product
을 Yes
으로 설정해야합니다. 그 후 방금 실행하십시오 Product Flat Index
다음을 수행하십시오.
app/code/core/Mage/Catalog/Block Folder로 이동하여 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