November 22, 200916 yr Hi all, I am doing a website for a client that uses x-cart. Basically the client wants a vertical drop-down menu, demo can be found here : http://www.dynamicdrive.com/dynamicindex1/switchmenu.htm'>http://www.dynamicdrive.com/dynamicindex1/switchmenu.htm However the links the client wants are being pulled from the database, they are categories and sub-categories of products and I can't figure out how the loop of the category code fits in with the code for the drop-down menu, could somebody help? Here is the code for the categories and sub-categories: {capture name=menu} {if $active_modules.Fancy_Categories} {include file="modules/Fancy_Categories/categories.tpl"} {assign var="additional_class" value="menu-fancy-categories-list"} {else} {assign var=thiscat value=$cat} {assign var=par value=0} {foreach from=$categories item=cats} {assign var=Mcatid value=$cats.categoryid} {foreach from=$allsubcategories.$Mcatid item=subb} {if $subb.categoryid eq $thiscat} {assign var=par value=$subb.parentid} {/if} {/foreach} {/foreach} <ul class="highlighted_orange"> {foreach from=$categories_menu_list item=c} <li><a href="home.php?cat={$c.categoryid}" title="{$c.category|escape}">{$c.category}</a></li> {assign var=in value=$c.categoryid} {foreach from=$allsubcategories.$in item=cat} {if $cat.parentid eq $c.categoryid} <li><a href="home.php?cat={$cat.categoryid}" class="subMenuItem">{$cat.category}</a></li> {/if} {/foreach} {/foreach} </ul> {assign var="additional_class" value="menu-categories-list"} {/if} {/capture} {include file="customer/menu_dialog.tpl" content=$smarty.capture.menu} Here is the code for the drop-down menu: {literal} <style type="text/css"> .menutitle{ cursor:pointer; margin-bottom: 5px; background-color:#ECECFF; color:#000000; width:140px; padding:2px; text-align:center; font-weight:bold; /*/*/border:1px solid #000000;/* */ } .submenu{ margin-bottom: 0.5em; } </style> <script type="text/javascript"> /*********************************************** * Switch Menu script- by Martial B of http://getElementById.com/ * Modified by Dynamic Drive for format & NS4/IE4 compatibility * Visit http://www.dynamicdrive.com/ for full source code ***********************************************/ var persistmenu="yes" //"yes" or "no". Make sure each SPAN content contains an incrementing ID starting at 1 (id="sub1", id="sub2", etc) var persisttype="sitewide" //enter "sitewide" for menu to persist across site, "local" for this page only if (document.getElementById){ //DynamicDrive.com change document.write('<style type="text/css">\n') document.write('.submenu{display: none;}\n') document.write('</style>\n') } function SwitchMenu(obj){ if(document.getElementById){ var el = document.getElementById(obj); var ar = document.getElementById("masterdiv").getElementsByTagName("span"); //DynamicDrive.com change if(el.style.display != "block"){ //DynamicDrive.com change for (var i=0; i<ar.length; i++){ if (ar.className=="submenu") //DynamicDrive.com change ar.style.display = "none"; } el.style.display = "block"; }else{ el.style.display = "none"; } } } function get_cookie(Name) { var search = Name + "=" var returnvalue = ""; if (document.cookie.length > 0) { offset = document.cookie.indexOf(search) if (offset != -1) { offset += search.length end = document.cookie.indexOf(";", offset); if (end == -1) end = document.cookie.length; returnvalue=unescape(document.cookie.substring(offset, end)) } } return returnvalue; } function onloadfunction(){ if (persistmenu=="yes"){ var cookiename=(persisttype=="sitewide")? "switchmenu" : window.location.pathname var cookievalue=get_cookie(cookiename) if (cookievalue!="") document.getElementById(cookievalue).style.display="block" } } function savemenustate(){ var inc=1, blockid="" while (document.getElementById("sub"+inc)){ if (document.getElementById("sub"+inc).style.display=="block"){ blockid="sub"+inc break } inc++ } var cookiename=(persisttype=="sitewide")? "switchmenu" : window.location.pathname var cookievalue=(persisttype=="sitewide")? blockid+";path=/" : blockid document.cookie=cookiename+"="+cookievalue } if (window.addEventListener) window.addEventListener("load", onloadfunction, false) else if (window.attachEvent) window.attachEvent("onload", onloadfunction) else if (document.getElementById) window.onload=onloadfunction if (persistmenu=="yes" && document.getElementById) window.onunload=savemenustate </script> {/literal} <!-- Keep all menus within masterdiv--> <div id="masterdiv"> <div class="menutitle" onclick="SwitchMenu('sub1')">Site Menu</div> <span class="submenu" id="sub1"> - <a href="new.htm">What's New</a><br> - <a href="hot.htm">What's hot</a><br> - <a href="revised.htm">Revised Scripts</a><br> - <a href="morezone/">More Zone</a> </span> <div class="menutitle" onclick="SwitchMenu('sub2')">FAQ/Help</div> <span class="submenu" id="sub2"> - <a href="notice.htm">Usage Terms</a><br> - <a href="faqs.htm">DHTML FAQs</a><br> - <a href="help.htm">Scripts FAQs</a> </span> <div class="menutitle" onclick="SwitchMenu('sub3')">Help Forum</div> <span class="submenu" id="sub3"> - <a href="http://www.codingforums.com">Coding Forums</a><br> </span> <div class="menutitle" onclick="SwitchMenu('sub4')">Cool Links</div> <span class="submenu" id="sub4"> - <a href="http://www.javascriptkit.com">JavaScript Kit</a><br> - <a href="http://www.freewarejava.com">Freewarejava</a><br> - <a href="http://www.cooltext.com">Cool Text</a><br> - <a href="http://www.google.com">Google.com</a> </span> </div>
Create an account or sign in to comment