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 created a test page using deluxe menu and would like the menu to appear in the centre of a frame. I have tried usind <div> and <table> tags and while either gives correct results with Internet Explorer, neither gives correct results with Mozilla.
A: Try to set exact value for menuWidth, for example:
var menuWidth="130px";
Q: We recently bought your product.
We are developing in ASP.NET (VB) and we have a problem making you deluxe menu dynamic to suit our needs. We are using the Deluxe Menu.
The problem is each time a page with dhtml nav loads, we want to be able to generate the menuItems variable to reflect the options the individual user has, so it can't be hard coded into data.js it MUST be provided by an aspx file and attached somehow. I can't work out how to attach the variable (even a static one) as a separate file, so if you can do it with a static one, we can extend it to a dynamic one later.
For example the JS in the data.js file we want the MenuItem dimension you be loaded in a seperate file, some kind of include.
var menuItems = [
["Home","index.aspx", "", "", "", "_self", "", "", "", "", "", ],
["About","about.aspx", "", "", "", "_self", "", "", "", "", "", ],
["Contact","contact.aspx", "", "", "", "_self", "", "", "", "", "", ],
["Help","", "", "", "", "", "", "", "", "", "", ],
["|HowTo Register","RegHelp.aspx", "", "", "", "_self", "", "", "", "", "", ],
["|FAQ","FAQ.aspx", "", "", "", "_self", "", "", "", "", "", ],
["|Dos 'n' Don'ts","DoDont.aspx", "", "", "", "_self", "", "", "", "", "", ],
["|Workshop","workshop.aspx", "", "", "", "_self", "", "", "", "", "", ],
["Gold Run","", "", "", "", "_self", "", "", "", "", "", ],
["|About Goldrun","goldrunAbout.aspx", "", "", "", "_self", "", "", "", "", "", ],
["|Veiw Sites","GoldDistribSites.aspx", "", "", "", "_self", "", "", "", "", "", ],
["My Run","", "", "", "", "", "", "", "", "", "", ],
["|About","aboutmyrun.aspx", "", "", "", "_self", "", "", "", "", "", ],
["TICs","", "", "", "", "", "", "", "", "", "", ],
["|About","abouttics.aspx", "", "", "", "_self", "", "", "", "", "", ],
["Metro","", "", "", "", "", "", "", "", "", "", ],
["|About","aboutmetro.aspx", "", "", "", "_self", "", "", "", "", "", ],
["Distribution","", "", "", "", "", "", "", "", "", "", ],
["|About","DistribAbout.aspx", "", "", "", "_self", "", "", "", "", "", ],
["|Status","DistribStatus.aspx", "", "", "", "_self", "", "", "", "", "", ],
["|News","DistribNews.aspx", "", "", "", "_self", "", "", "", "", "", ],
["|Display Units","DistribDisplay.aspx", "", "", "", "_self", "", "", "", "", "", ],
["|Team","", "", "", "", "_self", "", "", "", "", "", ],
["|View Sites","DistribSites.aspx", "", "", "", "_self", "", "", "", "", "", ],
["|TIC Budget","", "", "", "", "_self", "", "", "", "", "", ],
];
Hope this makes sense.
A: You can move
var menuItems = [
...
];
dm_init();
dhtml nav code from your data file to your page (template) directly:
<script>
var menuItems = [
...
];
dm_init();
</script>
Q: I evaluated Deluxe Menu over the weekend and I really like it. I believe I'll be buying it this week. I have one question. Is it possible for the menu to be aware of what page you have selected and highlight the corresponding menu item on that page.
A: You should set a pressed item using Javascript API:
function dm_ext_setPressedItem (menuInd, submenuInd, itemInd, recursion)
Sets a current pressed item.
menuInd - index of a menu on a page, >= 0.
submenuInd - index of a submenu, >= 0.
itemInd - index of an item, >=0.
recursion = true/false - highlight parent items.
But notice, to use dm_ext_setPressedItem() you should know ID of selected item and subitem.
You can't get this ID after you reload your page. That is why you should write your own code on PHP.