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); } }
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(); }