/**
  * get instance
  *
  *
  * @return Cms_Model_MenuItemMapper
  */
 public static function getInstance()
 {
     if (self::$_instance === null) {
         self::$_instance = new self();
     }
     return self::$_instance;
 }
 protected function _populateMenuItems(&$menuItems)
 {
     $menus = Cms_Model_MenuMapper::getInstance()->getMenus();
     foreach ($menus as $menu) {
         $zendMenus = Cms_Model_MenuItemMapper::getInstance()->fetchZendNavigationArray(array('lang' => CURR_LANG, 'menu' => $menu['code']));
         $this->_flattenMenu($zendMenus, $menuItems);
     }
 }
 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();
 }
Beispiel #4
0
 protected function _initMenus()
 {
     $bootstrap = $this->getInvokeArg('bootstrap');
     $config = $bootstrap->getOptions();
     $menus = array('main', 'footer');
     if (isset($config['menuSettings']['menus']) && count($config['menuSettings']['menus'])) {
         $menus = $config['menuSettings']['menus'];
     }
     $menuItemMapper = Cms_Model_MenuItemMapper::getInstance();
     $this->view->menuItems = array();
     foreach ($menus as $currMenu) {
         $this->view->menuItems[$currMenu] = new Zend_Navigation($menuItemMapper->fetchZendNavigationArray(array('application_id' => $this->_application->get_id(), 'menu' => $currMenu, 'lang' => CURR_LANG, 'visible_only' => true), array(), false));
     }
     //set meta from menu
     if ($this->_isMetaFromActiveMenu) {
         $this->_populateMetaFromActiveMenu();
     }
 }
 public function menuDeleteAction()
 {
     $this->_helper->layout()->disableLayout();
     $this->_helper->viewRenderer->setNoRender(true);
     $data = $this->getRequest()->getPost('data');
     $submit = $this->getRequest()->getPost('submit');
     $id = $this->_getParam('id');
     //create form object
     Cms_Model_MenuItemMapper::getInstance()->delete($id);
     $data = array('menu' => Cms_Model_MenuMapper::getInstance()->getMenus(), 'success' => true, 'message' => $this->translate("New Menu added"));
     $this->_helper->json->sendJson($data);
 }