public function RenderAdminMainMenu() { $this->userModel = new Model_User(); $this->currentUser = $this->userModel->getCurrentUser(); $cache = Digitalus_Cache_Manager::getInstance(); $key = 'admin_main_menu_' . $this->currentUser->role; // Lay du lieu tu cache ra if (($html = $cache->loadCache($key)) != false) { return $html; } $objMenus = new Model_Menus(); $rsRootLevel = $objMenus->fetchAll('parent = 0 AND active = 1', 'order ASC'); $html = null; foreach ($rsRootLevel as $rowRootLevel) { $sub_menu_html = null; $rsNextLevel = $rowRootLevel->findDependentRowset($rowRootLevel->getTableClass(), null, $rowRootLevel->select()->where('active = 1')->order('order ASC')); if (count($rsNextLevel) > 0) { $sub_menu_html = self::RenderAdminMenu($rsNextLevel, 0); } if (is_null($sub_menu_html) && empty($rowRootLevel->admin_menu_link)) { continue; } $href = 'javascript:void(0);'; if (!empty($rowRootLevel->admin_menu_link)) { $href = $rowRootLevel->admin_menu_link; } $html .= "<li><a href='{$href}' class='menulink'>{$rowRootLevel->name}</a>{$sub_menu_html}</li>"; } if (!is_null($html)) { $html = "<div id='main_menu'><ul class='menu' id='menu'>{$html}</ul></div>"; } // Luu du lieu vao cache $cache->saveCache($html, $key); return $html; }
/** * The default action * * Display the main menu admin page * * @return void */ public function indexAction() { $id = (int) $this->_request->getParam('cat', 0); $conditions = "parent = 0"; if (!is_null($id)) { $conditions = "parent = {$id}"; } $objMenus = new Model_Menus(); $this->view->menuLevelOnes = $objMenus->fetchAll($conditions, "order ASC"); $this->view->menuRoot = $objMenus->fetchAll("parent = 0", "order ASC"); $this->view->currentMenu = $id; }
function _loadMenuTree($argMenuList, &$argArrMenu, $argLevel, $subtractId) { $objMenus = new Model_Menus(); foreach ($argMenuList as $objMenu) { $len = strlen($objMenu->name); $str = str_pad("|__ " . $objMenu->name, $len + $argLevel * 6, "-", STR_PAD_LEFT); $argArrMenu[$objMenu->menu_id] = $str; if ($objMenu->menu_id == $subtractId) { return; } $objMenuNextLevel = $objMenus->fetchAll("parent = {$objMenu->menu_id}", "order ASC"); $this->_loadMenuTree($objMenuNextLevel, $argArrMenu, $argLevel + 1, $subtractId); } }
public function RenderAdminMainMenu() { $userModel = new Model_User(); $currentUser = $userModel->getCurrentUser(); $objMenus = new Model_Menus(); $rsRootLevel = $objMenus->fetchAll('parent = 0', 'order ASC'); $html = "<div id='main_menu'><ul class='menu' id='menu'>"; foreach ($rsRootLevel as $rowRootLevel) { $html .= "<li>"; if (empty($rowRootLevel->admin_menu_link)) { $html .= "<a href='javascript:void(0)' class='menulink'>{$rowRootLevel->name}</a>"; } else { $html .= "<a href='{$rowRootLevel->admin_menu_link}' class='menulink'>{$rowRootLevel->name}</a>"; } $rsNextLevel = $rowRootLevel->findDependentRowset($rowRootLevel->getTableClass(), null, $rowRootLevel->select()->order('order ASC')); if (count($rsNextLevel) > 0) { $html .= self::RenderAdminMenu($rsNextLevel, 0); } $html .= "</li>"; } $html .= "</ul></div>"; return $html; }