Beispiel #1
0
 /**
  * Collect validated attributes
  *
  * @param Mage_Catalog_Model_Resource_Product_Collection $productCollection
  * @return Mage_CatalogRule_Model_Rule_Condition_Product
  */
 public function collectValidatedAttributes($productCollection)
 {
     $attribute = $this->getAttribute();
     if ('category_ids' != $attribute) {
         if ($this->getAttributeObject()->isScopeGlobal()) {
             $attributes = $this->getRule()->getCollectedAttributes();
             $attributes[$attribute] = true;
             $this->getRule()->setCollectedAttributes($attributes);
             $productCollection->addAttributeToSelect($attribute, 'left');
         } else {
             $this->_entityAttributeValues = $productCollection->getAllAttributeValues($attribute);
         }
     }
     return $this;
 }
Beispiel #2
0
 /**
  * Initialize product collection
  *
  * @param Mage_Catalog_Model_Resource_Product_Collection $collection
  * @return Mage_Catalog_Model_Layer
  */
 public function prepareProductCollection($collection)
 {
     $collection->addAttributeToSelect(Mage::getSingleton('Mage_Catalog_Model_Config')->getProductAttributes())->addMinimalPrice()->addFinalPrice()->addTaxPercents()->addUrlRewrite($this->getCurrentCategory()->getId())->setVisibility(Mage::getSingleton('Mage_Catalog_Model_Product_Visibility')->getVisibleInCatalogIds());
     return $this;
 }
Beispiel #3
0
 /**
  * 
  * @param   Mage_Catalog_Model_Resource_Product_Collection $collection
  * @return  Mage_Catalog_Model_Resource_Product_Collection
  */
 protected function _prepareCollection($collection)
 {
     foreach ($this->getConditions() as $condition) {
         $collection->addFieldToFilter($condition['attribute'], array($condition['operator'] => $condition['value']));
     }
     foreach ($this->_columns as $attr => $width) {
         $collection->addAttributeToSelect($attr);
     }
     return $collection;
 }
Beispiel #4
0
 /**
  * @param Mage_Catalog_Model_Resource_Product_Collection $productCollection
  *
  * @return $this
  */
 public function collectValidatedAttributes($productCollection)
 {
     $attribute = $this->getAttribute();
     if (!in_array($attribute, array('category_ids', 'qty', 'php'))) {
         if ($attribute == 'image_size' || $attribute == 'small_image_size' || $attribute == 'thumbnail_size') {
             $attribute = str_replace('_size', '', $attribute);
         }
         $attributes = $this->getRule()->getCollectedAttributes();
         $attributes[$attribute] = true;
         $this->getRule()->setCollectedAttributes($attributes);
         $productCollection->addAttributeToSelect($attribute, 'left');
     }
     return $this;
 }