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 am in the process of building this site, but as you will see the menu text is showing on the top menue, but not the javascript hide menu itself.
A: You forgot to upload engine files on you server.
That is why you see search engine friendly code for the javascript hide menu only:
<div id="dmlinks" style="font:normal 11px Arial;color:#ff9966;text-decoration:none">
...
</div>
Notice that you should call dmenu.js file and dmWorkPath parameter on your html page only once.
You should write only
<noscript><a href="http://deluxe-menu.com">Javascript Menu by Deluxe-Menu.com</a></noscript>
<script type="text/javascript"> var dmWorkPath="OnlineHelp.files/";</script>
<script type="text/javascript" src="OnlineHelp.files/dmenu.js">
Q: I'm using the deluxe-menu software on a asp.net 2.0 site that utilizes master-pages. On everypage that is in the root directory the javascript for menu loads fine, but if the page is up a directory the main images for the menu don't display.
Have you had any customers with this same problem? If so any help you could offer would be appreciated, thanks!
A: Try to use absolute paths, for example:
<script type="text/javascript"> var dmWorkPath = "https://www.watchguardsales.com/menu.files/";</script>
<script type="text/javascript" src="https://www.watchguardsales.com/menu.files/dmenu.js"></script>
<script type="text/javascript" src="https://www.watchguardsales.com/menu.js"></script>
and in your data file set:
var pathPrefix_img="https://www.watchguardsales.com/images/";
var pathPrefix_link="https://www.watchguardsales.com/";
Q: I now have a tree on the left and an embedded frame on the right. When a user clicks a node, the corresponding html page appears in the frame.
Is there a method I can use when a user clicks a node, the web page will jump to a certain location in the page (menu dhtml hhyperlink)? I'm envisioning using one long web page instead of 30 or 40 separate pages. But I would need the program to work with a hyperlink to know where to jump to.
A: See the structure of tmenuItems array:
var tmenuItems = [
[text, link, iconNormal, iconOver, iconExpanded, tip, target, itemStyleInd, itemXPStyleInd, jsFilename],
You can set link and target menu dhtml parameters for each item individually,for example:
var tmenuItems = [
["Home","files/homepage.html","","","","Home","topframe","","",""],
["Contacts","files/contacts.html","","","","Contacts","bottomframe","","",""],
You can also send us the example, so we can understand your problem.