Recent Questions
Q: So, I'm actually developing an application with wordpress, and I would like to intagrate this excellent javascript navigation menu.
This site is Educational, and provides media about TI, for students of the Autonom University of Tamaulipas, in Mexico.
A: Actually we're using Deluxe Menu in our WordPress blogs without anyproblems.
You should edit the php template of your theme.
1. Go to Design -> Theme Editor
Open header.php file
!! Notice that you should CHMOD header.php file to777 setting. Find more info here:
http://www.zachjorgensen.net/za/chmodtutor.html
2. Upload folder with all menu files on your server
3. Add the following code in the <head> tag:
<noscript><p><a href="http://deluxe-menu.com">javascript navigation menu by Deluxe-Menu.com</a></p></noscript><script type="text/javascript"> var dmWorkPath="menu/";</script>
<script type="text/javascript" src="menu/dmenu.js"></script>
where 'menu' is the folder with all menu file on your server.
4. Call data file in the place where you want to have the menu, forexample:
<div style='z-index: 100;position: absolute; right: 0; top: 0; margin: 0; padding: 0;float: left;height: 85px; '>
<script type="text/javascript" src="menu/deluxe-menu-blog.js"></script>
</div>
5. Click 'Update File' button.
That's all.
Q: Do you by chance have the dhtml menu samples working with XML?
A: Unfortunately we don't have working example.
You may generate a menu from a database or XML using any server-side script, e.g., PHP, ASP, VB, etc.However, these scripts don't work inside of Javascript .js files, so,you should move parameters of a menu from a .js file into an html-page, e.g.:
<!-- Deluxe Menu -->
<noscript><a href="http://deluxe-menu.com">dhtml menu samples by Deluxe-Menu.com</a></noscript>
<script type="text/javascript"> var dmWorkPath = "menudir/";</script>
<script type="text/javascript" src="menudir/dmenu.js"></script>
<!-- (c) 2008, http://deluxe-menu.com -->
<script type="text/javascript" language="JavaScript1.2">
// and describe parameters of a menu
var parameter1=value1;
var parameter2=value2;
etc.
var menuItems = [
// here you generate items using server-side scripts (php, asp, vb, etc.)
];
</script>
The example of the menu working with PHP/MYSQL you can find here:
http://deluxe-menu.com/rq-loading-bar-MySQL-support.htmlQ: 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: My slide drop down menu appears at the top of the page rather than in the cell in which I placed it
A: You're using absolute position for the menu now:
var absolutePos=1;
You should use the relative position:
var absolutePos=0;