Jump to content

Dynamic menu


cerberus478

Recommended Posts

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

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.