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 have set up a menu that uses one 'data.js' file.
However, on ONE page, the menu needs to have three additional items, with a different style.
Is there a way to add the three items with a different style via javascript on that one page?
I think I know how to handle the styles, but I'm unsure how to add the three new items without using two differerent 'data.js' files- which is how I have it set up for the time being. You may want to visit the site to see what I mean.
A: You can use dm_ext_addItem() function to add items.
Please, see how you should write this function:
function dm_ext_addItem (menuInd, submenuInd, iParams)
< SCRIPT src="Welcome to Catawba Animal Clinic, P_A_files/data.js" type=text/javascript> </SCRIPT>
<script type="text/javascript"> dm_ext_addItem(0, 0, ["Boarding Request Form","request.htm", , , , "_self", "0", "-1", , ]);</script>
<script type="text/javascript"> dm_ext_addItem(0, 0, ["Boarding Policies","", , , , , "0", , , ]);</script>
<script type="text/javascript"> dm_ext_addItem(0, 0, ["Express Checkout Info","", , , , , "0", , , ]);</script>
You should upload dmenu_dyn.js file on your server.
In your data.js file you should add need Individual Item Styles.
Q: Can I choose what items will be expanded or collapsed in the php tree view
when the user first comes to the webpage?
A: You can expand some items by default.
Add '+' sign before items text in that case:
["+Deluxe Tree: XP Style","", "deluxe-tree.files/xpicon1_s.gif", "", "", "XP Title Tip", "", "0", "", "", ],
["|Home","testlink.htm", "deluxe-tree.files/icon1_s.gif", "deluxe-tree.files/icon1_so.gif", "", "Home Page Tip", "", "", "", "data-new.js", ],
"Deluxe Tree: XP Style" item will be expanded by default in that case.
Use var texpanded=1; parameter to expand all menu items by default.
Use function dtreet_ext_expandItem (itemID, expand) API function to expand the specificmenu items dynamically:
http://deluxe-tree.com/functions-info.htmlQ: A question: How do I make it show all the drop down dhtml menu items rather than having them pop up?
eg:
- Item 1
- sub item 1
- sub item 2
- sub item 3
A: You cannot expand items by default in Deluxe Menu. You should hoverover menu to open submenus.
You can do it using Deluxe Tree.
To expand specific items in Deluxe Tree you should add + sign beforeitem's text or set the following parameter to expand all drop down dhtml items bydefault:
var texpanded = 1;