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: Does this mean that nothing needs to be installed on the server side to make javascript menu?
Here is why I am asking this:
We have a main "corporate" web site, which is going to use the Deluxe Menu. One of the links on the main site will launch a page, which is running on a separate web server (physically separate server, and not a load-balancing scenario). Since all of these pages should look identical to the users, they all have to use the exact same configuration and look&feel in Deluxe Menu. I was wondering if any "configuration" type settings are stored on the server. In other words, would we have to maintain the Deluxe Menu install on two separate servers?
A: There is no need to install anything on your server. You should onlycopy a folder with all engine files (dmenu.js, dmenu_add.js, ...) anddata file on your server. Then you should call these files on yourpages, for example:
<body>
<script type="text/javascript"> var dmWorkPath="menu.files/";</script>
<script type="text/javascript" src="menu.files/dmenu.js"></script>
...
<script type="text/javascript" src="data.js"></script>
> In other words, would we have to
> maintain the Deluxe Menu install on two separate servers?
Actually you can copy deluxe menu files on the one server only anduse absolute paths.Q: How change the color of the link in the dhtml vertical menu if the link is already visited.
A: Deluxe Menu has only two states normal and mouseover,
butyou can highlight menu items in two ways:
Try to do the following things:
- delete var pressedItem=1; parameter from your data file
- set correct parameter on each page before you call data file, forexample:
<noscript><a href="http://deluxe-menu.com">Javascript Menu by Deluxe-Menu.com</a></noscript>
<script type="text/javascript"> var dmWorkPath = "menudir/";</script>
<script type="text/javascript" src="menudir/dmenu.js"></script>
<script type="text/javascript"< var pressedItem=3;</script>
...<script type="text/javascript" src="menudir/data.js"></script>
You can also 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.
You can find more info here:
http://www.deluxe-menu.com/highlighted-items-sample.html
Q: I cannot find the parameter in menu example file "data.js" for umlaute a, u. I want it to set manually.
A: You can save your data file in UTF-8 in Windows version of DeluxeTuner v3.5.
You should turn on "Tools/Use utf8 encode" property.
In that case your data file will be saved in UTF-8 encode.
Enter these symbols and save your data file.
If you don't want to use UTF-8 encode on your page you should turn off
"Tools/Use utf8 encode" property, save your data file and manually
change your letters in any text editor.
You can also replace your letters with special sets, for example
ä - Small a, acute accent - a
ü - Small c, cedilla - u
var menuItems = [
["ä....","testlink.html", "", "", "", "", "", "", "", ],
["ü....","testlink.html", "", "", "", "", "", "", "", ],