Exemplo n.º 1
0
 private function _parseParams($paramsStr, Cms_Model_MenuItem $item, $old = false)
 {
     if ($paramsStr == null || $paramsStr == '') {
         $item->set_params(array());
     }
     $params = array();
     $paramsArr = explode('/', $paramsStr);
     for ($i = 0; $i < count($paramsArr) - 1; $i += 2) {
         $params[$paramsArr[$i]] = $paramsArr[$i + 1];
     }
     //append page id as param
     if (null !== $item->get_page_id()) {
         $params['page_id'] = $item->get_page_id();
     }
     if ($old) {
         $item->set_params_old($params);
     } else {
         $item->set_params($params);
     }
 }
Exemplo n.º 2
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();
 }