/** * Retrieve advanced search product collection * * @return Mage_CatalogSearch_Model_Resource_Advanced_Collection */ public function getProductCollection() { if (is_null($this->_productCollection)) { $collection = $this->_engine->getAdvancedResultCollection(); $this->prepareProductCollection($collection); if (!$collection) { return $collection; } $this->_productCollection = $collection; if (isset($_GET['cat']) && is_numeric($_GET['cat'])) { $this->_productCollection->addCategoryFilter(Mage::getModel('catalog/category')->load($_GET['cat']), true); } if (isset($_GET['make']) || isset($_GET['number_plate'])) { if ($_GET['cat'] == '4') { $sess_str = Mage::getSingleton("core/session")->getSearchRimSize(); $sess_arr = array(); if ($sess_str != '') { $sess_arr = explode(',', $sess_str); for ($k = 0; $k < count($sess_arr); $k++) { $filters[] = array('attribute' => 'article_code', 'eq' => $sess_arr[$k]); } $this->_productCollection->addAttributeToFilter($filters); } } else { if (isset($_GET['size'])) { $this->_productCollection->addAttributeToFilter('short_size', array('eq' => $_GET['size'])); } } } } //echo $this->_productCollection->getSelect(); return $this->_productCollection; }
public function getProductCollection() { if (is_null($this->_productCollection)) { $this->_productCollection = Mage::getResourceModel('catalogsearch/advanced_collection')->addAttributeToSelect(Mage::getSingleton('catalog/config')->getProductAttributes())->addMinimalPrice()->addStoreFilter(); Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($this->_productCollection); Mage::getSingleton('catalog/product_visibility')->addVisibleInSearchFilterToCollection($this->_productCollection); /* adding category filter */ if (isset($_GET['category']) && is_numeric($_GET['category'])) { $this->_productCollection->addCategoryFilter(Mage::getModel('catalog/category')->load($_GET['category']), true); } } return $this->_productCollection; }