Recent Questions
Q: A brief one on dynamic menu in the perspective of bilinguism
I understood from the tuner that a menu can be made dynamic (although it is somewhat minimally documented ;-))
Leaving alone all the beautiful sophisticated and complex mechanic of it
Say I have my main menu that says :
var dynamic=1; (that's all I got from the doc ..)
And then
var menuItems = [
["Choice 1 ","page1.php", "", "", "Choice 1",", "_self", "", "", "", "", "", ],
["Choice 2","page2.php", "", "", "Choice 2", "_self", "", "", "", "", "", ],
];
Minimalist ? ;-) right ?
1/ first I'm not too sure about what exactly in order are these 11 parameters although I'm fine with the only 4 I have here
2/ if I would want to change on the fly menu javascript dropdown page on a PHP parameter Page1.php?lang=French (I perfectly master how to capture the PHP value)
So that My menu becomes on the fly
["Choix 1 ","page1.php", "", "", "Choix 1",", "_self", "", "", "", "", "", ],
["Choix 2","page2.php", "", "", "Choix 2", "_self", "", "", "", "", "", ],
Thanks in advance if you can shed some light on this
PS : And although I used hardly 1% of deluxe capability my first customer is very happy about it..
A: Actually you can find all info about the menu javascript dropdown parameters and featureson our website:
- menu parameter and items, Individual Styles:
http://deluxe-menu.com/parameters-info.html
http://deluxe-menu.com/menu-items-info.html
http://deluxe-menu.com/individual-item-styles-info.html
http://deluxe-menu.com/individual-submenu-styles-info.html
- dynamic functions:
http://deluxe-menu.com/functions-info.html
http://deluxe-menu.com/dynamic-functions-sample.html
> 2/ if I would want to change on the fly page on a PHP parameter
> Page1.php?lang=French (I perfectly master how to capture the PHP value)
> So that My menu becomes on the fly
> ["Choix 1 ","page1.php", "", "", "Choix 1",", "_self", "", "", "", "", "", ],
> ["Choix 2","page2.php", "", "", "Choix 2", "_self", "", "", "", "", "",> ],
To change the menu items on the fly you can use API functions
function dm_ext_changeItem (menuInd, submenuInd, itemInd, iParams)
function dm_ext_addItem (menuInd, submenuInd, iParams)
function dm_ext_changeItemVisibility (menuInd, submenuInd, itemInd, visibility)Q: I know. I have two menus on the page and I am not using beforeItemImage orafterItemImage for the top menu in javascript (the one you referenced below), but I need it for the second menu. The parameters for that menu are in mainnav_data.js.
Even when I only call dmWorkPath and dmenu.js once, it does not work.
A: See, it is not correctly to use image-based items:
["","", "mainnav_data.files/corpinfo.gif", "mainnav_data.files/corpinfo2.gif", "", "_self", "0", "", "", "", "", ],
and specify beforeItemImage/afterItemImage parameters. They won't work in that case.
You can create such buttons in the following ways:
1) Use image-based menu (images with text).
Create normal and mouse-over state images (with text) for each item:
["","", "mainnav_data.files/corpinfo.gif", "mainnav_data.files/corpinfo2.gif", "", "_self", "", "", "", "", "", ],
["","", "mainnav_data.files/new.gif", "mainnav_data.files/new2.gif", "", "_self", "", "", "", "", "", ],
["","", "mainnav_data.files/xxxxx.gif", "mainnav_data.files/xxxxx2.gif", "", "_self", "", "", "", "", "", ],
2) Use combined background for the menu in javascript items (images without text).
var beforeItemImage = [,]; //left-side image for normal and mouse over state
var itemBackImage = [,]; //background or image for normal and mouse over state
var afterItemImage = [,]; //right-side image for normal and mouse over state
var beforeItemImageW = '';
var afterItemImageW = '';
var beforeItemImageH = '';
var afterItemImageH ='';
But you should create a small images in any Graph Editor, for example:
button_n_back.gif
button_n_left.gif
button_n_right.gif
button_o_back.gif
button_o_left.gif
button_o_right.gif
You cannot use these two methods together!Q: Do you have an extremely simple example of modifying a menu with the JavaScript API? I've played with the example on the site, but I have trouble removing the other menus without breaking it.
I just want to use the API to change the icon on the menu items.
A: You should use the following function:
function dm_ext_changeItem (menuInd, submenuInd, itemInd, iParams)
<script language="javascript" >
dm_ext_changeItem(0, 0, 1, ["", "", "new_icon.gif", "new_icon_o.gif", "",,""]);
</script>
Q: In my previous email asking about your menu program's ability to display a different color word on a menu item when the site is on that selected page, I made a mistake - I was experimenting with Vista xp1 style, the black/blue shiny dhtml menu templates.
A: The menu has only two states normal and mouseover. We'll try to add the pressed state in the future.
You can set a pressed item using Javascript API:
function dm_ext_setPressedItem (menuInd, submenuInd, itemInd, recursion)
Sets a current pressed item.
menuInd - index of a menu on a page, >= 0.
submenuInd - index of a submenu, >= 0.
itemInd - index of an item, >=0.
recursion = true/false - highlight parent items.
But notice, to use dm_ext_setPressedItem() you should know ID of selected item and subitem.
You can't get this ID after you reload your page. That is why you should write your own code on PHP.