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: Is there a javascript API for the expandable menu tree to fire an user click event so the browser will load proper page accordingly? I looked around the current APIs from your site and could not find one.
Please advise.
A: You can use dtreet_ext_userClick (itemID) function.
See more info:
http://deluxe-tree.com/functions-info.html
Actually you can use your own Javascript code instead standard links and html code inside item text. For example:
var tmenuItems = [
["text", "javascript:your_code_here"]
];
or
var tmenuitems = [
["<div onClick='urlSubstitution(\'transco/sheet.asp?stype=1\')'>Table of Contents</div>", ""]
];
Q: We are evaluating your product Deluxe Tree-menu.
We want that when user clicks an item, then load other page. This other page also conatains the tree menu. But, we are looking for how we have to do for the previously clicked menu items in java (in the previous page) remains highlighted for inform to user what is his current page/selection.
We know toggleMode feature, but after the second page loads, the clicked item does not remain higlighted.
It is possible to achieve this behavior with your product???
A: You should use API functions in that case
function dtreet_ext_expandItem (itemID, expand)
function dtreet_ext_setPressedItem (menuInd, itemID)
See more info about API functions:
http://deluxe-tree.com/functions-info.html
See the samples:
http://deluxe-tree.com/dynamic-drop-down-menu-sample.html
and
http://deluxe-tree.com/highlight-selected-menu-item-sample.html
Q: On my website I am a total of 2 menus being generated. How do I correctly generate "SE-Friendly Code" if I have 2 menu in javascripts? The "DM Links" code that is being generated will have a few of the same dm id because the menus are created seperate. How do I get it so each menu will have different dm id with no overlaps?
A: The identifiers in these links are additional parameters.
<div id="dmlinks" style="font:undefined;color:#000000;text-decoration:none">
<a id="dmI0" href="testlink.html">Home</a>
<a id="dmI2" href="testlink.html">Features</a>
<a id="dmI4" href="testlink.html">Description of Files</a>
You can delete these identifiers or leave them.
So, if you have several menu in javascripts on the same page you should generate twoblocks of search engine friendly code and add them on your page.