protected function _beforeSave() { //Mage::log("hi"); Mage::app()->cleanCache('product_homepage'); return parent::_beforeSave(); }
/** * 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(); }
/** * 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(); }