• Hello,

    I have a problem with the navigation bar. You can have a subparent in this. But a grandparent is not possible. So can anyone help me with this problem, so that I can use the menubar with the subparent and grandparent inside it?

    Hopefully someone can help me.

    With kind regards,
    Wouter.

Viewing 12 replies - 1 through 12 (of 12 total)
  • Please post your header.php and your themes name so we can help you.

    Thread Starter iamotornl

    (@iamotornl)

    Ow, sorry for this problem. I had post in the tags that the problem was about the theme iNove. Sorry for any confusion. But here is the header.php.

    <!-- header START -->
    <div id="header">
    
    	<!-- banner START -->
    	<?php if( $options['banner_content'] &amp;&amp; (
    		($options['banner_registered'] &amp;&amp; $user_ID) ||
    		($options['banner_commentator'] &amp;&amp; !$user_ID &amp;&amp; isset($_COOKIE['comment_author_'.COOKIEHASH])) ||
    		($options['banner_visitor'] &amp;&amp; !$user_ID &amp;&amp; !isset($_COOKIE['comment_author_'.COOKIEHASH]))
    	) ) : ?>
    		<div class="banner">
    			<?php echo($options['banner_content']); ?>
    		</div>
    	<?php endif; ?>
    	<!-- banner END -->
    
    	<div id="caption">
    		<h1 id="title"><a href="<?php bloginfo('url'); ?>/"><?php bloginfo('name'); ?></a></h1>
    		<div id="tagline"><?php bloginfo('description'); ?></div>
    	</div>
    
    	<div class="fixed"></div>
    </div>
    <!-- header END -->
    
    <!-- navigation START -->
    <div id="navigation">
    	<!-- menus START -->
    	<ul id="menus">
    		<li class="<?php echo($home_menu); ?>"><a class="home" title="<?php _e('Home', 'inove'); ?>" href="<?php echo get_settings('home'); ?>/"><?php _e('Home', 'inove'); ?></a></li>
    		<?php
    			if($options['menu_type'] == 'categories') {
    				wp_list_categories('depth=2&amp;title_li=0&amp;orderby=name&amp;show_count=0');
    			} else {
    				wp_list_pages('depth=2&amp;title_li=0&amp;sort_column=menu_order');
    			}
    		?>
    		<li><a class="lastmenu" href="javascript:void(0);"></a></li>
    	</ul>
    	<!-- menus END -->
    
    	<!-- searchbox START -->
    	<div id="searchbox">
    		<?php if($options['google_cse'] &amp;&amp; $options['google_cse_cx']) : ?>
    			<form action="https://www.google.com/cse" method="get">
    				<div class="content">
    					<input type="text" class="textfield" name="q" size="24" />
    					<input type="submit" class="button" name="sa" value="" />
    					<input type="hidden" name="cx" value="<?php echo $options['google_cse_cx']; ?>" />
    					<input type="hidden" name="ie" value="UTF-8" />
    				</div>
    			</form>
    		<?php else : ?>
    			<form action="<?php bloginfo('home'); ?>" method="get">
    				<div class="content">
    					<input type="text" class="textfield" name="s" size="24" value="<?php echo wp_specialchars($s, 1); ?>" />
    					<input type="submit" class="button" value="" />
    				</div>
    			</form>
    		<?php endif; ?>
    	</div>
    <script type="text/javascript">
    //<![CDATA[
    	var searchbox = MGJS.$("searchbox");
    	var searchtxt = MGJS.getElementsByClassName("textfield", "input", searchbox)[0];
    	var searchbtn = MGJS.getElementsByClassName("button", "input", searchbox)[0];
    	var tiptext = "<?php _e('Type text to search here...', 'inove'); ?>";
    	if(searchtxt.value == "" || searchtxt.value == tiptext) {
    		searchtxt.className += " searchtip";
    		searchtxt.value = tiptext;
    	}
    	searchtxt.onfocus = function(e) {
    		if(searchtxt.value == tiptext) {
    			searchtxt.value = "";
    			searchtxt.className = searchtxt.className.replace(" searchtip", "");
    		}
    	}
    	searchtxt.onblur = function(e) {
    		if(searchtxt.value == "") {
    			searchtxt.className += " searchtip";
    			searchtxt.value = tiptext;
    		}
    	}
    	searchbtn.onclick = function(e) {
    		if(searchtxt.value == "" || searchtxt.value == tiptext) {
    			return false;
    		}
    	}
    //]]>
    </script>
    	<!-- searchbox END -->
    
    	<div class="fixed"></div>
    </div>
    <!-- navigation END -->

    This is not the exactly header.php. But in the normal header.php file there is an include to this file. And nothing more. So, I suppose this is also good.

    Thread Starter iamotornl

    (@iamotornl)

    take a distance, runs, kicks, bump

    Thread Starter iamotornl

    (@iamotornl)

    I had forgotten the javascript which also is of the menu.

    /*
    Author: mg12
    Update: 2009/05/11
    Author URI: https://www.neoease.com/
    */
    (function() {
    
    var Class = {
    	create: function() {
    		return function() {
    			this.initialize.apply(this, arguments);
    		}
    	}
    }
    
    var GhostlyMenu = Class.create();
    GhostlyMenu.prototype = {
    
    	initialize: function(target, align, opacity, offset) {
    		this.obj = cleanWhitespace(target);
    		this.align = align || 'left';
    		this.opacity = 0;
    		this.maxopacity = opacity || 1;
    		this.offset = offset || 0;
    
    		this.menu = this.obj.childNodes
    		if (this.menu.length < 2) { return; }
    
    		this.title = this.menu[0];
    		this.body = this.menu[1];
    
    		cleanWhitespace(this.body).firstChild.className = 'first';
    
    		setStyle(this.body, 'visibility', 'hidden');
    		setStyle(this.body, 'position', 'absolute');
    		setStyle(this.body, 'overflow', 'hidden');
    		setStyle(this.body, 'display', 'block');
    
    		addListener(this.obj, 'mouseover', bind(this, this.activate), false);
    		addListener(this.obj, 'mouseout', bind(this, this.deactivate), false);
    	},
    
    	activate: function() {
    		var pos = cumulativeOffset(this.title);
    		var left = pos[0];
    		if (this.align == 'right') {
    			var offset = getWidth(this.title) - getWidth(this.body) + this.offset;
    			left += offset;
    		}
    		var top = pos[1] + getHeight(this.title);
    
    		if(this.opacity <= 0) {
    			this.title.className += ' current';
    		}
    
    		setStyle(this.body, 'left', left + 'px');
    		setStyle(this.body, 'top', top + 'px');
    		setStyle(this.body, 'visibility', 'visible');
    		setStyle(this.body, 'opacity', this.opacity);
    		setStyle(this.body, 'MozOpacity', this.opacity);
    		setStyle(this.body, 'KhtmlOpacity', this.opacity);
    		setStyle(this.body, 'filter', 'alpha(opacity=' + this.opacity * 100 + ')');
    
    		if(this.tid) {
    			clearTimeout(this.tid);
    		}
    		this.tid = setInterval(bind(this, this.appear), 20);
    	},
    
    	deactivate: function(){
    		if(this.tid) {
    			clearTimeout(this.tid);
    		}
    		this.tid = setInterval(bind(this, this.fade), 40);
    	},
    
    	appear: function() {
    		this.opacity += 0.1;
    		if(this.opacity >= this.maxopacity) {
    			this.opacity = this.maxopacity;
    			clearTimeout(this.tid);
    		}
    		setStyle(this.body, 'opacity', this.opacity);
    		setStyle(this.body, 'MozOpacity', this.opacity);
    		setStyle(this.body, 'KhtmlOpacity', this.opacity);
    		setStyle(this.body, 'filter', 'alpha(opacity=' + this.opacity * 100 + ')');
    	},
    
    	fade:function() {
    		this.opacity -= 0.1;
    		if(this.opacity <= 0) {
    			this.opacity = 0;
    			setStyle(this.body, 'visibility', 'hidden');
    			this.title.className = this.title.className.replace('current', '');
    			clearTimeout(this.tid);
    		}
    		setStyle(this.body, 'opacity', this.opacity);
    		setStyle(this.body, 'MozOpacity', this.opacity);
    		setStyle(this.body, 'KhtmlOpacity', this.opacity);
    		setStyle(this.body, 'filter', 'alpha(opacity=' + this.opacity * 100 + ')');
    	}
    }
    
    $A = function(iterable) {
    	if(!iterable) {
    		return [];
    	}
    	if(iterable.toArray) {
    		return iterable.toArray();
    	} else {
    		var results = [];
    		for(var i = 0; i < iterable.length; i++) {
    			results.push(iterable[i]);
    		}
    		return results;
    	}
    }
    
    bind = function() {
    	var array = this.$A(arguments);
    	var func = array[array.length - 1];
    	var _method = func, args = array, object = args.shift();
    	return function() {
    		return _method.apply(object, args.concat(array));
    	}
    }
    
    getHeight = function(element) {
    	return element.offsetHeight;
    }
    
    getWidth = function(element) {
    	return element.offsetWidth;
    }
    
    setStyle = function(element, key, value) {
    	element.style[key] = value;
    }
    
    getStyle = function(element, key) {
    	return element.style[key];
    }
    
    cleanWhitespace = function(list) {
    	var node = list.firstChild;
    	while (node) {
    		var nextNode = node.nextSibling;
    		if(node.nodeType == 3 &amp;&amp; !/\S/.test(node.nodeValue)) {
    			list.removeChild(node);
    		}
    		node = nextNode;
    	}
    	return list;
    }
    
    cumulativeOffset = function(element) {
    	var valueT = 0, valueL = 0;
    	do {
    		valueT += element.offsetTop  || 0;
    		valueL += element.offsetLeft || 0;
    		element = element.offsetParent;
    	} while (element);
    	return [valueL, valueT];
    }
    
    addListener = function(element, name, observer, useCapture) {
    	if(element.addEventListener) {
    		element.addEventListener(name, observer, useCapture);
    	} else if(element.attachEvent) {
    		element.attachEvent('on' + name, observer);
    	}
    }
    
    function loadMenus() {
    	var align = 'left';
    	for(var i = 0; (a = document.getElementsByTagName('link')[i]); i++) {
    		if((a.getAttribute('rel') == 'stylesheet') &amp;&amp; (a.getAttribute('href').indexOf('rtl.css') != -1)) {
    			align = 'right';
    		}
    	}
    
    	var subscribe = document.getElementById('subscribe');
    	if (subscribe) {
    		new GhostlyMenu(subscribe, align, 1, 1);
    	}
    
    	var menubar = document.getElementById('menus');
    	if (menubar) {
    		var list = cleanWhitespace(menubar.childNodes);
    		for (var i = 0; i < list.length; i++) {
    			new GhostlyMenu(list[i], align, 1, 1);
    		}
    	}
    }
    
    if (document.addEventListener) {
    	document.addEventListener("DOMContentLoaded", loadMenus, false);
    
    } else if (/MSIE/i.test(navigator.userAgent)) {
    	document.write('<script id="__ie_onload_for_inove" defer src="javascript:void(0)"></script>');
    	var script = document.getElementById('__ie_onload_for_inove');
    	script.onreadystatechange = function() {
    		if (this.readyState == 'complete') {
    			loadMenus();
    		}
    	}
    
    } else if (/WebKit/i.test(navigator.userAgent)) {
    	var _timer = setInterval( function() {
    		if (/loaded|complete/.test(document.readyState)) {
    			clearInterval(_timer);
    			loadMenus();
    		}
    	}, 10);
    
    } else {
    	window.onload = function(e) {
    		loadMenus();
    	}
    }
    
    })();

    look for this code –

    if($options['menu_type'] == 'categories') {
    				wp_list_categories('depth=2&amp;title_li=0&amp;orderby=name&amp;show_count=0');
    			} else {
    				wp_list_pages('depth=2&amp;title_li=0&amp;sort_column=menu_order');
    			}

    and replace
    depth=2
    with the max category depth it will display for example for sub-subpages
    depth=3

    Hi, Changing depth, like Ornani suggested did not work for me. Does it work for anyone else?

    I have seen in many forums people want to now how to solve this but I have found no answer.

    Thread Starter iamotornl

    (@iamotornl)

    Hello,

    It didn’t work for me also. I have replaced the dept what you said. But it doesn’t work. For the example you can go to my site https://www.iamotor.nl/ and so you can see it doesn’t work.

    Can you please help me?

    With kind regards,
    Wouter.

    if that doesn’t work then the theme you are using doesn’t support sub sub pages.

    Hey iamotornl, the 3-level menus is not supported in current version.

    ok .. ?? To bad. Maybe in later version? …

    mg12 I hope You will add support for 4-level menus in new update of Your themes, specially in Elegant Box ??

    thanks… Is it work for lastest version…

Viewing 12 replies - 1 through 12 (of 12 total)
  • The topic ‘Navigation problem’ is closed to new replies.