Beispiel #1
0
 /**
  * Format url_key value
  *
  * @param Mage_Catalog_Model_Category $object
  * @return Mage_Catalog_Model_Category_Attribute_Backend_Urlkey
  */
 public function beforeSave($object)
 {
     $attributeName = $this->getAttribute()->getName();
     $urlKey = $object->getData($attributeName);
     if ($urlKey === false) {
         return $this;
     }
     if ($urlKey == '') {
         $urlKey = $object->getName();
     }
     if (empty($urlKey)) {
         $urlKey = Mage::helper('core')->uniqHash();
     }
     $object->setData($attributeName, $object->formatUrlKey($urlKey));
     $this->_validateEntityUrl($object);
     return $this;
 }
Beispiel #2
0
 /**
  * @param Mage_Catalog_Model_Category $object
  * @return $this|Convenient_CategoryCode_Model_Attribute_Backend_Code
  *
  * @author Luke Rodgers <*****@*****.**>
  */
 public function beforeSave($object)
 {
     $attributeName = $this->getAttribute()->getName();
     $code = $object->getData($attributeName);
     if ($code === false) {
         return $this;
     }
     if ($code == '') {
         $code = array();
         $parents = $object->getParentCategories();
         foreach ($parents as $parent) {
             if ($parent->getLevel() > 1 && $parent->getId() != $object->getId()) {
                 $code[] = $parent->getName();
             }
         }
         $code[] = $object->getName();
         $code = implode('-', $code);
     }
     $object->setData($attributeName, $object->formatUrlKey($code));
     return $this;
 }
 /**
  * Format url key of category into valid form
  *
  * @param Mage_Catalog_Model_Category $category
  * @return Mage_Catalog_Model_Category
  */
 protected function _formatUrlKey(Mage_Catalog_Model_Category $category)
 {
     if ($category->getUrlKey() == '') {
         $category->setUrlKey($category->formatUrlKey($category->getName()));
     } else {
         $category->setUrlKey($category->formatUrlKey($category->getUrlKey()));
     }
     return $category;
 }
Beispiel #4
0
 public function testFormatUrlKey()
 {
     $this->assertEquals('test', $this->_model->formatUrlKey('test'));
     $this->assertEquals('test-some-chars-5', $this->_model->formatUrlKey('test-some#-chars^5'));
     $this->assertEquals('test', $this->_model->formatUrlKey('test-????????'));
 }