Example #1
0
 /**
  * Prepare data for a new category node
  *
  * @param \XLite\Model\Category $entity Category object
  * @param \XLite\Model\Category $parent Parent category object OPTIONAL
  *
  * @return void
  */
 protected function prepareNewCategoryData(\XLite\Model\Category $entity, \XLite\Model\Category $parent = null)
 {
     if (!isset($parent)) {
         $parent = $this->getCategory($entity->getParentId());
     }
     if (isset($parent)) {
         $entity->setLpos($parent->getLpos() + 1);
         $entity->setRpos($parent->getLpos() + 2);
         $entity->setDepth($parent->getDepth() + 1);
     } else {
         // :TODO: - rework - add support last root category
         $entity->setLpos(1);
         $entity->setRpos(2);
     }
     $entity->setParent($parent);
 }
 /**
  * {@inheritDoc}
  */
 public function setLpos($lpos)
 {
     $this->__initializer__ && $this->__initializer__->__invoke($this, 'setLpos', array($lpos));
     return parent::setLpos($lpos);
 }