Ejemplo n.º 1
0
 /**
  * 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;
 }