Exemple #1
0
 public function getType()
 {
     switch ($this->nav_item_type) {
         case self::TYPE_PAGE:
             $object = NavItemPage::findOne($this->nav_item_type_id);
             break;
         case self::TYPE_MODULE:
             $object = NavItemModule::findOne($this->nav_item_type_id);
             break;
         case self::TYPE_REDIRECT:
             $object = NavItemRedirect::findOne($this->nav_item_type_id);
             break;
     }
     // assign the current context for an item type object.
     $object->setNavItem($this);
     return $object;
 }
Exemple #2
0
 /**
  *
  * Copy content of type cms_nav_item_redirect to a target nav item. This will create a new entry in cms_nav_item_redirect.
  *
  * @param $targetNavItem
  * @return bool
  */
 public function copyRedirectItem($targetNavItem)
 {
     if ($this->nav_item_type !== 3) {
         return false;
     }
     $sourceRedirectItem = NavItemRedirect::findOne($this->nav_item_type_id);
     if (!$sourceRedirectItem) {
         return false;
     }
     $redirectItem = new NavItemRedirect();
     $redirectItem->attributes = $sourceRedirectItem->toArray();
     if (!$redirectItem->save()) {
         return false;
     }
     $targetNavItem->nav_item_type_id = $redirectItem->id;
     return $targetNavItem->save();
 }