cerberus478 Posted November 7, 2011 Share Posted November 7, 2011 I'm trying to make my menu dynamic for example I will have a menu with it's submenus and when the user logs on the submenu account will then be shown where it wasn't shown before the user logged on. here is my submenu.controller <?php class submenus_controller extends controller{ protected $_helpers = array('form', 'html'); protected $_observers = array('seo_uris'); public $model='submenus'; public function ajax_set_submenu($submenu_id){ $submenu=$this->_model->get($submenu_id); $_SESSION['submenu']=$submenu; } } ?> and here is my default page <!doctype html> <!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]--> <!--[if IE 7]> <html class="no-js ie7 oldie" lang="en"> <![endif]--> <!--[if IE 8]> <html class="no-js ie8 oldie" lang="en"> <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]--> <head> <title><?php echo $this->get_title();?></title> <meta name="author" content="team digitalpro"> <meta name="viewport" content="width=device-width,initial-scale=1"> <meta name = "Description" content = "<?php echo $this->get_description();?>" /> <meta name = "Keywords" content = "<?php echo $this->get_keywords(); ?>" /> <link rel="stylesheet" href="/css/style.css"> <script src="js/libs/modernizr-2.0.6.min.js"></script> </head> <body> <div id="container"> <header> <div class="inhoud"> <div id="logo"><a href="/"><img src="/img/logo.gif" width="306" height="126" border="0" /></a></div> <nav> <div class="menu"> <ul> <?php if (isset($this->_params['menus']) && is_array($this->_params['menus'])){ foreach ($this->_params['menus'] as $menu){ if (!empty($menu['submenus.page_id'])){ $uri=$this->get_uri('/pages/view/'.$menu['submenus.page_id']); }else{ $uri=$this->get_uri("/{$menu['submenus.controller']}/{$menu['submenus.action']}"); } // p($menu); ?> <li><a href="<?php echo $uri ?>" onclick="javascript:return setMenu(<?php echo $menu['id'] ?>);"><?php echo strtoupper($menu['name'])?></a></li> <?php } } ?> </ul> </div> </nav> </div> </header> <div id="hero-pic"> <div id="slogans"><img src="../img/slogans.png" width="277" height="214" /></div> <img src="../img/hero.gif" width="996" height="286" /></div> <main> <div id="left"> <div class="inhoud"> <div id="left-nav"> <ul> <?php if (isset($this->_params['submenus']) && is_array($this->_params['submenus'])){ foreach ($this->_params['submenus'] as $submenu){ if (!empty($submenu['page_id'])){ $uri=$this->get_uri('/pages/view/'.$submenu['page_id']); }else{ $uri=$this->get_uri("/{$submenu['controller']}/{$submenu['action']}"); } ?> <li<?php if ($_SESSION['submenu']['id'] == $submenu['id']){?> class="active"<?php ;} ?>> <a href="<?php echo $uri ?>" onclick="javascript:return setSubMenu(<?php echo $submenu['id'] ?>);"> <?php echo strtoupper($submenu['name'])?> </a> </li> <?php } } ?> </ul> </div> <form method="post" action=""> <input type="text" id="search" /> <input type="submit" name="button" value="GO" class="go" /> </form> <div class="sub-links"> <ul> <li><a href="#">Home</a></li> <li><a href="#">Contact us</a></li> <li><a href="#">Sitemap</a></li> <li><a href="#">Privacy policy</a></li> </ul> </div> </div> </div> <div id="right"> <div class="inhoud"> <?php echo $this->page('view') ?> </div> </div> </main> <footer> <!-- <div class="inhoud"> <ul> <li><a href="#">COMPANY </a></li> <li><a href="#">PRIVATE EQUITY </a></li> <li><a href="#">CONSULTING </a></li> <li><a href="#">INVEST </a></li> <li><a href="#">PARTNERS </a></li> <li><a href="#">NEWS</a></li> </ul> --> <p> </p> <p> </p> </div> </footer> </div> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script> <script>window.jQuery || document.write('<script src="/js/libs/jquery-1.6.2.min.js"><\/script>')</script> <script defer src="/js/plugins.js"></script> <script defer src="/js/script.js"></script> <script> window._gaq = [['_setAccount','UAXXXXXXXX1'],['_trackPageview'],['_trackPageLoadTime']]; Modernizr.load({ load: ('https:' == location.protocol ? '//ssl' : '//www') + '.google-analytics.com/ga.js' }); setMenu = function(menu_id){ $.ajax({ url: "/menus/ajax_set_menu/"+menu_id, type: 'POST', dataType: "html", data: { format: 'JSON', }, success: function(data) { } }); } setSubMenu = function(submenu_id){ $.ajax({ url: "/submenus/ajax_set_submenu/"+submenu_id, type: 'POST', dataType: "html", data: { format: 'JSON', }, success: function(data) { } }); } </script> <!--[if lt IE 7 ]> <script src="//ajax.googleapis.com/ajax/libs/chrome-frame/1.0.3/CFInstall.min.js"></script> <script>window.attachEvent('onload',function(){CFInstall.check({mode:'overlay'})})</script> <![endif]--> </body> </html> Link to comment https://forums.phpfreaks.com/topic/250609-dynamic-menu/ Share on other sites More sharing options...
trq Posted November 7, 2011 Share Posted November 7, 2011 Do you have a question? Link to comment https://forums.phpfreaks.com/topic/250609-dynamic-menu/#findComment-1285813 Share on other sites More sharing options...
cerberus478 Posted November 7, 2011 Author Share Posted November 7, 2011 I would like to know how to do the menu like I described Link to comment https://forums.phpfreaks.com/topic/250609-dynamic-menu/#findComment-1285815 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.