protected function _beforeSave()
 {
     if ($this->isRoot()) {
         $this->setIdentifier('');
     } else {
         if ($this->getPageId()) {
             // Edit existant page
             $identifiers = explode('/', $this->getIdentifier());
             array_pop($identifiers);
         } else {
             // Add new page
             $parent = $this->getParentPage();
             $identifiers = explode('/', $parent->getIdentifier());
             $this->getResource()->increaseChildrenCount($this, $parent->getPathIds());
             $this->setCreateDefaultPermission(true);
         }
         $identifier = $this->getUrlKey() ? $this->getUrlKey() : $this->getTitle();
         array_push($identifiers, $this->formatUrlKey($identifier));
         $this->setIdentifier(trim(implode('/', $identifiers), '/'));
     }
     parent::_beforeSave();
     $oldPage = Mage::getModel('cms/page')->load($this->getPageId());
     // old page data
     if (!$this->isRoot() && Mage::helper('cms/page')->isCreatePermanentRedirects($this->getStoreId())) {
         // 301 Redirects
         $this->getResource()->updatePermanentRedirects($oldPage, $this);
     }
     $this->getResource()->updateChildrenIdentifiers($oldPage, $this->getIdentifier());
     return $this;
 }
Exemple #2
0
 protected function _beforeSave()
 {
     parent::_beforeSave();
     Mage::getSingleton('index/indexer')->processEntityAction($this, self::ENTITY, Mage_Index_Model_Event::TYPE_SAVE);
     return $this;
 }