コード例 #1
0
 /**
  * Initialize product collection
  *
  * @param Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection $collection Product collection.
  *
  * @return Mage_Catalog_Model_Layer
  */
 public function prepareProductCollection($collection)
 {
     $query = $collection->getSearchEngineQuery();
     $allowedVisibilities = Mage::getSingleton('catalog/product_visibility')->getVisibleInCatalogIds();
     $query->addFilter('terms', array('visibility' => $allowedVisibilities));
     $allowedStatuses = Mage::getSingleton('catalog/product_status')->getVisibleStatusIds();
     $query->addFilter('terms', array('status' => $allowedStatuses));
     if (Mage::helper('cataloginventory')->isShowOutOfStock() == false) {
         $query->addFilter('terms', array('in_stock' => 1));
     }
     $query->setQueryType('category_products_layer');
     return parent::prepareProductCollection($collection);
 }