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 manage that the last clicked javascript expanding tree item stays tree highlighted?
A: We have the following API function to highlight the pressed item in Deluxe Tree
function dtreet_ext_setPressedItem (menuInd, itemID)
But unfortunately this function doesn't work for AJAX submenus.
We'll try to add this feature soon (using save state feature).
Q: How can I add a separator to the vertical menu using the dynamic functions?
It seems as though the only way to get a separator into the menu is by defining itbefore hand, but the website I'm building will require me to reload themenus dinamically, and I'm losing the ability to put separators on it.
A: You should add items using the following function:
function dm_ext_addItem (menuInd, submenuInd, iParams)
or
function dm_ext_addItemPos (menuInd, submenuInd, iParams, Pos)
Find more info:
http://deluxe-menu.com/functions-info.html
Set the following parameter:
var dm_writeAll=1;
So, you should write:
dm_ext_addItem(0, 4, ["|-", "", "", "", "", "", "", ])
Q: How does the search engine stuff work. A web developer told me to stay away from java script if you want google to recognize your webpage.
Can you comfort me by telling me how it works.
A: Spiders can't read dynamically-generated Javascript code, so theycan't read menu links.
Search engine friendly means that you can add additional html codewithin your html page. You can generate such a code using Deluxe TunerGUI that you can find in the trial menu package. But if you'll use themenu without any additional html code, spider won't see menu links.