Exemplo n.º 1
0
 protected function saveMenuItem($row, $menuCode)
 {
     $module = $this->modules[$this->data[$row]['Module']];
     $titles = explode("\n", $this->data[$row]['Name']);
     $item = new Cms_Model_MenuItem();
     $item->set_application_id(1)->set_menu($this->menuCode)->set_route($module['route'])->set_menu($menuCode);
     //set page id
     if (isset($this->data[$row]['page_id'])) {
         $item->set_page_id_new($this->data[$row]['page_id']);
     }
     //set path / params
     $item->set_path($module['path']);
     if (isset($module['params'])) {
         $item->set_params($module['params']);
     } else {
         $item->set_params("");
     }
     $item->set_params_old("");
     //uri
     if ($this->data[$row]['Module'] == 'external' && isset($this->data[$row]['External url'])) {
         $item->set_uri($this->data[$row]['External url']);
     }
     //set order
     $item->set_ord_num($row);
     foreach ($this->languages as $langIndex => $lang) {
         $title = $this->getLangText($titles, $langIndex);
         $item->set_name($title)->set_level($this->data[$row]['level'])->set_parent_id(0);
         //set parent
         if (isset($this->data[$row]['parent'])) {
             $parentRow = $this->data[$this->data[$row]['parent']];
             if (isset($parentRow['menu_item_id'])) {
                 $item->set_parent_id($parentRow['menu_item_id']);
             }
         }
         Cms_Model_MenuItemMapper::getInstance()->save($item, $lang, true);
     }
     $this->data[$row]['menu_item_id'] = $item->get_id();
 }