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
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.