Ejemplo n.º 1
0
 public function beforeSave($object)
 {
     $attributeName = $this->getAttribute()->getName();
     $urlKey = $object->getData($attributeName);
     if ($this->_product = Mage::registry('current_product')) {
         if ($urlKey == '') {
             $this->_useDefault = (array) Mage::app()->getRequest()->getPost('use_default');
             if (in_array('url_key', $this->_useDefault)) {
                 return $this;
             }
             if ($this->_product->getStore()->getId() > 0) {
                 $this->_defaultProduct = Mage::getModel('catalog/product')->load($this->_product->getId());
             }
             $urlKeyTemplate = (string) Mage::getStoreConfig('mageworx_seo/seosuite/product_url_key', $this->_product->getStore()->getId());
             $template = Mage::getModel('seosuite/catalog_product_template_url');
             $template->setTemplate($urlKeyTemplate)->setUseDefault($this->_useDefault)->setProduct($this->_product);
             $urlKey = $template->process();
             if ($urlKey == '') {
                 $urlKey = $object->getName();
             }
         }
     } else {
         return parent::beforeSave($object);
     }
     /*if ($this->_product->formatUrlKey($urlKey) != $this->_product->getUrlKey()){
           $urlRewrites = Mage::getModel('core/url_rewrite')->getCollection()->filterAllByProductId($this->_product->getId(), true)->load();
           foreach ($urlRewrites as $urlRewrite){
               $urlRewrite->setIsSystem(0)->setOptions('RP')->save();
           }
       }*/
     $object->setData($attributeName, $object->formatUrlKey($urlKey));
     return $this;
 }
Ejemplo n.º 2
0
 public function beforeSave($object)
 {
     $urlKey = $object->getData($this->getAttribute()->getName());
     if ($urlKey == '' && ($product = Mage::registry('current_product'))) {
         $config = Mage::getSingleton('seo/config');
         $store = $product->getStore();
         $urlKeyTemplate = $config->getProductUrlKey($store);
         $templ = Mage::getModel('seo/object_producturl')->setProduct($product)->setStore($store);
         $urlKey = $templ->parse($urlKeyTemplate);
         if ($urlKey == '') {
             $urlKey = $object->getName();
         }
         $object->setData($this->getAttribute()->getName(), $object->formatUrlKey($urlKey));
     } else {
         parent::beforeSave($object);
     }
     return $this;
 }