Example #1
0
 protected function _beforeSave()
 {
     //Mage::log("hi");
     Mage::app()->cleanCache('product_homepage');
     return parent::_beforeSave();
 }
Example #2
0
 /**
  * Check product options and type options and save them, too
  */
 protected function _beforeSave()
 {
     $this->cleanCache();
     $this->setTypeHasOptions(false);
     $this->setTypeHasRequiredOptions(false);
     $this->getTypeInstance(true)->beforeSave($this);
     $hasOptions = false;
     $hasRequiredOptions = false;
     /**
      * $this->_canAffectOptions - set by type instance only
      * $this->getCanSaveCustomOptions() - set either in controller when "Custom Options" ajax tab is loaded,
      * or in type instance as well
      */
     $this->canAffectOptions($this->_canAffectOptions && $this->getCanSaveCustomOptions());
     if ($this->getCanSaveCustomOptions()) {
         $options = $this->getProductOptions();
         if (is_array($options)) {
             $this->setIsCustomOptionChanged(true);
             foreach ($this->getProductOptions() as $option) {
                 $this->getOptionInstance()->addOption($option);
                 if (!isset($option['is_delete']) || $option['is_delete'] != '1') {
                     $hasOptions = true;
                 }
             }
             foreach ($this->getOptionInstance()->getOptions() as $option) {
                 if ($option['is_require'] == '1') {
                     $hasRequiredOptions = true;
                     break;
                 }
             }
         }
     }
     /**
      * Set true, if any
      * Set false, ONLY if options have been affected by Options tab and Type instance tab
      */
     if ($hasOptions || (bool) $this->getTypeHasOptions()) {
         $this->setHasOptions(true);
         if ($hasRequiredOptions || (bool) $this->getTypeHasRequiredOptions()) {
             $this->setRequiredOptions(true);
         } elseif ($this->canAffectOptions()) {
             $this->setRequiredOptions(false);
         }
     } elseif ($this->canAffectOptions()) {
         $this->setHasOptions(false);
         $this->setRequiredOptions(false);
     }
     parent::_beforeSave();
 }
Example #3
0
 /**
  * Check product options and type options and save them, too
  *
  */
 protected function _beforeSave()
 {
     $this->cleanCache();
     $this->setTypeHasOptions(false);
     $this->setTypeHasRequiredOptions(false);
     $this->getTypeInstance()->beforeSave();
     $hasOptions = false;
     $hasRequiredOptions = false;
     $this->canAffectOptions($this->_canAffectOptions || $this->getCanSaveCustomOptions());
     if ($this->getCanSaveCustomOptions()) {
         $options = $this->getProductOptions();
         if (is_array($options)) {
             foreach ($this->getProductOptions() as $option) {
                 $this->getOptionInstance()->addOption($option);
                 if (!isset($option['is_delete']) || $option['is_delete'] != '1') {
                     $hasOptions = true;
                 }
             }
             foreach ($this->getOptionInstance()->getOptions() as $option) {
                 if ($option['is_require'] == '1') {
                     $hasRequiredOptions = true;
                     break;
                 }
             }
         }
     }
     /**
      * Set true, if any
      * Set false, ONLY if options have been affected by Options tab and Type instance tab
      */
     if ($hasOptions || (bool) $this->getTypeHasOptions()) {
         $this->setHasOptions(true);
         if ($hasRequiredOptions || (bool) $this->getTypeHasRequiredOptions()) {
             $this->setRequiredOptions(true);
         } elseif ($this->canAffectOptions()) {
             $this->setRequiredOptions(false);
         }
     } elseif ($this->canAffectOptions()) {
         $this->setHasOptions(false);
         $this->setRequiredOptions(false);
     }
     parent::_beforeSave();
 }