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 am interesting to use it for integration in some CMS I am currently using, as for instance : Xoops
1. Do you think that it is possible easily to integrate your menus with the xoops database content for the texts and links ?
2. Where links are they specified in the Deluxe Tuner interface
Thanks for your help
A: 1) Deluxe Menu wasn't developed as Xoops extension,BUT you can use it as standard Javascript files.
To create and configure your menus use Deluxe Tuner application
(included into the trial package): http://deluxe-menu.com/deluxe-tuner-info.html
Please, try the trial version.
2) You can assign link for each item. You can do it in "ItemParameter" window "Link" field.
Q: Hi, I was wondering if there is a way to disable the dhtml pull down menu links on a page. (I am creating a site where, in a certain mode, the page is in preview and I don't want the links to work).
Is this possible?
I can run this function across my other <A> tags (which sets them all to the current page), but it doesn't reach into the deluxe menu.
for(i=0;i document.links[i].href = "<?php echo(getURL($_SERVER["REQUEST_URI"]));?>>";
document.links[i].target = "_self";
}
A: To disable your dhtml pull down menu items you should set the following parameter to disable all items:
var itemTarget="_";
Or you can disable items individually.
["Home","testlink.html", "", "", "", "_", "", "", "", "", "", ], //disabled
["Product Info","", "", "", "", "", "", "", "", "", "", ],
["|Features","testlink.html", "", "", "", "_", "", "", "", "", "", ], //disabled
["|Installation","", "", "", "", "", "", "", "", "", "", ],
You can also use function dm_ext_changeItem (menuInd, submenuInd, itemInd, iParams)
function to disable items on-the-fly, for example:
dm_ext_changeItem (0, 2, 3, ["", "", "", "", "", "_", "", "", ""]);
Q: Do I need to replace the menudir/ in the code with the name of the folder I have placed the .js files?
A: Yes, you should change the name of the folder.
If you have, for example such file structure:
deluxe-menu_files/
dmenu.js
data.js
images/
html_pages/
page1.html
page2.html
index.html
So, you should install your menu in the following way:
<head>
<!-- Deluxe Menu -->
<noscript><a href="http://deluxe-menu.com">Javascript Menu by Deluxe-Menu.com</a></noscript>
<script type="text/javascript"> var dmWorkPath = "deluxe-menu_files/";</script>
<script type="text/javascript" src="deluxe-menu_files/dmenu.js"></script>
<!-- (c) 2006, http://deluxe-menu.com -->
</head>
<body>
<script type="text/javascript" src="deluxe-menu_files/data.js"></script>
</body>
</span>