Recent Questions
Q: We are registered users of the Deluxe Menu software. Today I tried to use the Javascript API, but there is something I do not understand and want to ask for support.
First, I set up a very simple menu:
var menuItems=[
['Menu 1'],
['|Submenu 1'],
['Menu 2'],
['|Submenu 2'],
];
This menu is built via dm_init().
Then, I inspect the menu (in Firebug):
>>> dm_ext_getSubmenuParams(0, 0)
["dm0m0", 2, "", 0, 1]
>>> dm_ext_getSubmenuParams(0, 1)
["dm0m1", 1, "dm0m0i0", 1, 0]
>>> dm_ext_getSubmenuParams(0, 2)
["dm0m2", 1, "dm0m0i1", 1, 0]
Ok, there are three submenus. Now I am going to delete one of them:
>>> dm_ext_deleteItem(0, 0, 1)
"Menu 2" disappears on the screen, this works as expected. But now when I re-inspect the menu using the API, I find that the API reports exactly the same as before:
>>> dm_ext_getSubmenuParams(0, 0)
["dm0m0", 2, "", 0, 1]
>>> dm_ext_getSubmenuParams(0, 1)
["dm0m1", 1, "dm0m0i0", 1, 0]
>>> dm_ext_getSubmenuParams(0, 2)
["dm0m2", 1, "dm0m0i1", 1, 0]
So, it seems the report function continues to know about the original menu structure and reflects it. Am I using the API in a wrong way?
The problem I want to solve is to remove the entire menu dinamico dhtml, in order to rebuild it dynamically. Because I did not see a function aimed to this functionality, my plan was to delete all main menu entries subsequently until the main menu inspector no longer reports an entry. Is there (a better) way to achieve this?
A: Unfortunately, dm_ext_deleteItem() only change visibility of theseitems.
It doesn't delete them completely.
We'll try to fix it in the next versions of Deluxe Menu.
Q: I think that your product is great makes everything look nice and professional with the drop down menu Items. My question is I have certain menu Items that I will need to disable at certain times. I do this now using a standard button and grabbing my parameters from an SQL database. Is there a way for me to basically pull which menu items I need disabled and present the customized menu for each client. I have read that your product has this ability I was looking for a little guidance or maybee a write up on someone that has done this.
A: Unfortunately, Deluxe Menu doesn't have such a feature.
You should write your own code, for example, on PHP.
You can try to use the following function
function disable() {
dm_ext_changeItem(1, 1, 1, ["", "", "", "", "", "_"]);
}
to disable your items.
The example you can find on our site
http://www.deluxe-menu.com/dynamic-functions-sample.html
Please, see the source code on this page.
Q: Hi, I was wondering if there is a way to leave a main navigation item highlighted when in that section. For example if I clicked on "Contact Us" and when I am on the contact us page, the "Contact us" navigation would still be highlighted. I appreciate any help you might have, thanks!
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.
Q: If I use windows tree menu and published on my web site it is default all javascript tree menu and submenu are opened. I want that all menu is default closed if user click on main menu it will be opened submenu. Please wich parameters I have to change.
A: You should set the following parameter:
var texpanded=0;
Check also that you don't have '+' sign before item's text in the top items, for example:
["+Home","", "", "", "", "", "", "0", "", ],
...
["+Item1","", "", "", "", "", "", "0", "", ],