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: How can I use Danish characters in my menu using javascript? In normal html you would use something like this:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
What should I do in Deluxe Menu?
A: You should turn on "Tools/Use utf8 encode" property.In that case your data file will be saved in UTF-8 encode. So, youshould set UTF-8 encode on your page too
<meta http-equiv="Content-Type" content="text/html"charset="UTF-8">
If you don't want to use UTF-8 encode on your page you should turn off"Tools/Use utf8 encode" property, save your data file and manuallychange your letters in any text editor.
You can also replace your letters with special sets, for example
É - Capital E, acute accent
var menuItems = [
["É....","testlink.html", "", "", "", "", "", "", "", ],
Q: Hi, I was wondering if there is a way to disable the dhtml pull down menu links on a page. (I am creating a site where, in a certain mode, the page is in preview and I don't want the links to work).
Is this possible?
I can run this function across my other <A> tags (which sets them all to the current page), but it doesn't reach into the deluxe menu.
for(i=0;i document.links[i].href = "<?php echo(getURL($_SERVER["REQUEST_URI"]));?>>";
document.links[i].target = "_self";
}
A: To disable your dhtml pull down menu items you should set the following parameter to disable all items:
var itemTarget="_";
Or you can disable items individually.
["Home","testlink.html", "", "", "", "_", "", "", "", "", "", ], //disabled
["Product Info","", "", "", "", "", "", "", "", "", "", ],
["|Features","testlink.html", "", "", "", "_", "", "", "", "", "", ], //disabled
["|Installation","", "", "", "", "", "", "", "", "", "", ],
You can also use function dm_ext_changeItem (menuInd, submenuInd, itemInd, iParams)
function to disable items on-the-fly, for example:
dm_ext_changeItem (0, 2, 3, ["", "", "", "", "", "_", "", "", ""]);
Q: Your product is great. I do have one question for you however.
Right now the dropdown (subitem) menus appear based on the smShowPause variable, and disappear based on the smHidePause variable. It is sometimes awkward for users to mouse off the subitem menu that has dropped down, only to have it still hanging there. Reducing the smHidePause variable is not an option because then the menu often disappears before a user has selected a menu option.
The ideal solution is the have the subitem menu recognize when the user has moused off the menu, and then disappear. Is this possible?
if not, I definitely suggest incorporating it into your next build!
A: Try to set these parameters:
var transition=0;
var transOptions="";
var transDuration=0;
var transDuration2=0;
var smShowPause=200;
var smHidePause=200;