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: The popup menu gives the (first) menu of the top menu. I need of course for this to be the menu of the popup.
A: Installation of your menu is not correct.
Now you have:
1) There is no need to call dmenu_popup.js file. You should delete thefollowing line:
<script type="text/javascript" language="JavaScript1.2" src="dmenu_popup.js"></script>
2) Where you call source_pop.js file for Popup menu?
You should add:
<SCRIPT language=JavaScript1.2 src="menu_files/source_pop.js"type=text/javascript></SCRIPT>
3) The ID of your Popup menu is 1. Now you have ID - 0.
<img src="testimage.gif" width="200" height="200" onClick="return dm_popup(0, 9000, event);" style="cursor:hand;">
you should write:
<img src="testimage.gif" width="200" height="200" onClick="returndm_popup(1, 9000, event);" style="cursor:hand;">
Q: I would like to have the dhtml sliding menu save the state when reloading or refreshing the browser.Can this be done with the expandable menu? If so, what is the syntax?
A: You should use the following parameter:
var tsaveState = 1;
Example, you can find here:
http://deluxe-tree.com/data-samples/tree-menuxp-save-state.htmlQ: We recently purchased your full package, and I have a couple of questions regarding deluxe-menu in particular.
1) I'd like to change what's in the noscript area to something other than an ad for you in the event my user has JavaScript disabled. I can understand the copyright remaining intact, however I don't believe I should have to display this to my users in the noscript.
2) I'm using this inside our firewall on a VPN intranet application. Am I going to have issues with the key if the site has multiple host headers and domains attached to it?
A: Thanks for your interest in our products.
1) If you delete noscript tag from your pages you'll see "IncorrectCopyright" message in IE.
You can generate search engine friendly code. When JavaScript isdisabled you will see the links.
Deluxe Menu is a search engine friendly menu since v1.12.
To create a search engine friendly menu you should add additional html code within your html page:
<div id="dmlinks">
<a href="http://deluxe-menu.com">menu_item_text1</a>
<a href="http://deluxe-tree.com">menu_item_text2</a>
...etc.
</div>
To generate such a code use Deluxe Tuner application.
You can find this GUI in the trial package.
Run Tuner, load your menu and click Tools/Generate SE-friendly Code (F3).
2) Deluxe Menus support multiple keys in one data file,so you can apply the following syntax to use the same html codeunder multiple domains:
var key ="THE_FIRST_KEY"; //sandvine.com
var key1="THE_SECOND_KEY"; //salestools
...