Exemplo n.º 1
1
 public function getFilterableAttributes()
 {
     $collection = parent::getFilterableAttributes();
     if ($collection instanceof Mage_Catalog_Model_Resource_Product_Attribute_Collection) {
         $attrUrlKeyModel = Mage::getResourceModel('sm_shopby/attribute_urlkey');
         $attrUrlKeyModel->preloadAttributesOptions($collection);
     }
     return $collection;
 }
 /**
  * Get collection of all filterable attributes for layer products set
  *
  * @return Mage_Catalog_Model_Resource_Eav_Mysql4_Attribute_Collection
  */
 public function getFilterableAttributes()
 {
     $collection = parent::getFilterableAttributes();
     if ($collection instanceof Mage_Catalog_Model_Resource_Product_Attribute_Collection) {
         // Pre-loads all needed attributes at once
         $attrUrlKeyModel = Mage::getResourceModel('catalin_seo/attribute_urlkey');
         $attrUrlKeyModel->preloadAttributesOptions($collection);
     }
     return $collection;
 }
Exemplo n.º 3
0
 public function testGetFilterableAttributes()
 {
     /** @var $collection Mage_Catalog_Model_Resource_Product_Attribute_Collection */
     $collection = $this->_model->getFilterableAttributes();
     $this->assertInstanceOf('Mage_Catalog_Model_Resource_Product_Attribute_Collection', $collection);
     $items = $collection->getItems();
     $this->assertInternalType('array', $items);
     $this->assertEquals(1, count($items), 'Number of items in collection.');
     $this->assertInstanceOf('Mage_Catalog_Model_Resource_Eav_Attribute', $collection->getFirstItem());
     $this->assertEquals('price', $collection->getFirstItem()->getAttributeCode());
     //$this->assertNotSame($collection, $this->_model->getFilterableAttributes());
 }
Exemplo n.º 4
0
 public function getFilterableAttributes()
 {
     if (Mage::helper('itoris_layerednavigation')->isEnabledThirdEngineSearch()) {
         $setIds = $this->_getSetIds();
         if (!$setIds) {
             return array();
         }
         /* @var $collection Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Attribute_Collection */
         $collection = Mage::getResourceModel('catalog/product_attribute_collection')->setItemObjectClass('catalog/resource_eav_attribute');
         if (Mage::helper('enterprise_search')->getTaxInfluence()) {
             $collection->removePriceFilter();
         }
         $collection->setAttributeSetFilter($setIds)->addStoreLabel(Mage::app()->getStore()->getId())->setOrder('position', 'ASC');
         $collection = $this->_prepareAttributeCollection($collection);
         $collection->addIsFilterableInSearchFilter();
         $collection->load();
         return $collection;
     } else {
         return parent::getFilterableAttributes();
     }
 }