Пример #1
0
 /**
  * Filter product collection
  *
  * @param Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection $collection
  * @return Mage_Catalog_Model_Layer
  */
 public function prepareProductCollection($collection)
 {
     $rule = $this->getRule();
     if ($rule->getData('show_outofstock') == 2) {
         $collection->joinField('stock_status', 'cataloginventory/stock_status', 'stock_status', 'product_id=entity_id', array('stock_status' => Mage_CatalogInventory_Model_Stock_Status::STATUS_IN_STOCK, 'website_id' => Mage::app()->getWebsite()->getWebsiteId()));
     }
     $collection->addAttributeToSelect(Mage::getSingleton('catalog/config')->getProductAttributes())->addMinimalPrice()->addFinalPrice()->addTaxPercents();
     /*Filter min, max price*/
     $this->currentRate = Mage::app()->getStore()->getCurrentCurrencyRate();
     $max = $this->getMaxPriceFilter();
     $min = $this->getMinPriceFilter();
     if ($min && $max) {
         $collection->getSelect()->where(' final_price >= "' . $min . '" AND final_price <= "' . $max . '" ');
     }
     /*End Filter min, max price*/
     Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($collection);
     Mage::getSingleton('catalog/product_visibility')->addVisibleInCatalogFilterToCollection($collection);
     //$this->_productCollections = $collection;
     return $this;
 }