/** * Set hash when record created * * @param Doctrine_Event $event * @return void */ public function postSave(Doctrine_Event $event) { $object = $event->getInvoker(); $_object = Doctrine_Core::getTable('sfCategory')->find($object->getId()); $level = $_object->getLevel(); if ($_object->getNode()->hasParent()) { if ($level > 0) { for ($i = 1; $i < $level; $i++) { $_object = $_object->getNode()->getParent(); } } } $tree = Doctrine_Core::getTable('sfCategory')->getTree(); $tree = $tree->fetchBranch($_object->getId(), array(), Doctrine_Core::HYDRATE_ARRAY_HIERARCHY); $_tree = $this->setHierarchicalSlug($tree); return parent::postSave($event); }
/** * Set hash when record created * * @param Doctrine_Event $event * @return void */ public function postSave(Doctrine_Event $event) { $object = $event->getInvoker(); if (!$object->slug) { $i = 0; $prefix = ''; $_slug = ''; foreach ($this->_options['fields'] as $val) { if ($i > 0) { $prefix = '-'; } $_slug .= $prefix . trim($object->{$val}); $i++; } $slug = strtolower($this->translitIt($_slug)); if (isset($this->_options['time'])) { $slug .= '-' . time(); } $object->slug = $slug; $object->save(); } return parent::postSave($event); }