Example #1
0
 /**
  * @param $json_item
  * @param $menu_content_id
  * @param $parent_id
  * @return mixed
  */
 private function _saveMenuNode($json_item, $menu_content_id, $parent_id)
 {
     if (isset($json_item->id)) {
         $item = MenuNode::find($json_item->id);
     }
     if (!$item) {
         $item = new MenuNode();
     }
     $item->title = isset($json_item->title) ? $json_item->title : '';
     $item->url = isset($json_item->customurl) ? $json_item->customurl : '';
     $item->css_class = isset($json_item->class) ? $json_item->class : '';
     $item->position = isset($json_item->position) ? $json_item->position : '';
     $item->icon_font = isset($json_item->iconfont) ? $json_item->iconfont : '';
     $item->type = isset($json_item->type) ? $json_item->type : '';
     $item->menu_content_id = $menu_content_id;
     $item->parent_id = $parent_id;
     switch ($json_item->type) {
         case 'custom-link':
             $item->related_id = 0;
             break;
         default:
             $item->related_id = (int) $json_item->relatedid;
             break;
     }
     $item->save();
     return $item->id;
 }