Recent Questions Magento Tree Menu
Q: I am evaluating your product and would like to display my top menu without a border, but have the dropdown (child menus) all have a border and shadow.
If I change the menuBorderWidth to anything but 0, I get a menu on both the top menus and dropdowns. I need a topBorderWidth and a childBorderWidth.
Is there any way to accomplish this?
A: Yes, you can do it.
Please, set:
var menuBorderWidth=0;
To set border for submenus you should use Individual Submenu styles, for example:
var menuStyles = [
     ["menuBorderWidth=1","menuBorderColor=#9A9CA7"], //style 0
];
var menuItems = [
     ["Home","testlink.html", , , , , , , , ],
     ["Product Info","", "default.files/icon1.gif", "default.files/icon1o.gif", , , , , , ],
         ["|Features","testlink.html", "default.files/icon2.gif", "default.files/icon2o.gif", , , , "0", , ], //style 0
     ["Samples","", "default.files/icon1.gif", "default.files/icon1o.gif", , , , , , ],
         ["|Sample 1","testlink.html", "default.files/icon6.gif", "default.files/icon6o.gif", , , , "0", , ], //style 0
         ["|Sample 2 is Disabled","testlink.html", "default.files/icon6.gif", "default.files/icon6o.gif", , "_", , "-1", , ],
...
You should assign style for the first item in the submenu.
Q: What I would like to see is the ability to have a base site navigation menu with all the definitional entries (size, locations, icons, etc.) defined but all the menuitems be called from an Ajax file.
A: You cannot use ajax submenus for the top items.
But you can use several .js file, for example:
params.js //file with all menu parameters (size, locations, icons, etc.)
all code before
var menuItems = [
...
];
dm_init();
data_ajax1.js //data files for ajax submenus
data_ajax2.js
data_ajax3.js
...
main_data.js - data file with the following code:
var menuItems = [
["Item 1","", "", "", "", "", "0", "0", "data_ajax1.js", "", "", ],
["Item 2","", "", "", "", "", "0", "0", "data_ajax2.js", "", "", ],
["Item 3","", "", "", "", "", "0", "0", "data_ajax3.js", "", "", ],
["Item 4","", "", "", "", "", "0", "0", "data_ajax4.js", "", "", ],
];
dm_init();
You can also place this code into your html page directly (in the place where you want tohave a menu):
<script type="text/javascript">
var menuItems = [
["Item 1","", "", "", "", "", "0", "0", "data_ajax1.js", "", "", ],
["Item 2","", "", "", "", "", "0", "0", "data_ajax2.js", "", "", ],
["Item 3","", "", "", "", "", "0", "0", "data_ajax3.js", "", "", ],
["Item 4","", "", "", "", "", "0", "0", "data_ajax4.js", "", "", ],
];
dm_init();
Q: How do I get the sub-menus to open in the 2nd frame of a 3 vertical frameset.
The menu is in the first frame. I want the sub-menus to open in the 2nd frame. I don't see how to set that parameter.
A: You should check your dm_initFrame() function.
dm_initFrame(framesetID, mainFrameInd, subFrameInd, orientation);
framesetID - id attribute of the frameset;
mainFrameInd - index of the main frame (where the top-menu is placed), >=0;
subFrameInd - index of the subframe (where the submenus will be shown), >=0;
orientation - frame orientaion: 0 - horizontal, 1 - vertical.
You should write it, for example
dm_initFrame("frmSet", 0, 1, 0);
Q: I'm trying to display the submenus to the left of the vertical navigation bar.
A: Try to use the following parameter:
var subMenuAlign = "left";