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 now ready to re-create my menu. It says to edit my data file. When I try to do that it will NOT open. It says my computer does not have the right program? What do I need?
Also, once I have created the menu in Deluxe tuner, where should I save it? In the folder where my website pages are saved? Again, I am using Yahoo sitebuilder, so I am not exactly sure where I should save it in these folders?
Furthermore, when I tried to save a file before I removed Deluxe tuner and reloaded it, It would ask me if I wanted to copy all my files? What is that and what is the purpose?
I really like the deluxe tuner and I really want to be able to utilize this to create a menu, however, if I can't figure out how to get it onto my website, I am going to be out of luck
A: > I am now ready to re-create my menu. It says to edit my data file. When I
> try to do that it will NOT open. It says my computer does not have the right
> program? What do I need?
You should open your data file with the menu in any text editor andadd your reg. key.
Try that.
> Also, once I have created the menu in Deluxe tuner, where should I save it?
You can save your data file in any place and then copy to the rightplace.> Furthermore, when I tried to save a file before I removed Deluxe tuner and
> reloaded it, It would ask me if I wanted to copy all my files? What is that
> and what is the purpose?
If you click yes, Deluxe Tuner save also all engine .js files and allyour images into "data.files/" folder.
You can also click Export->To HTML.
So you'll have html page with your menu and folder with engine .jsfiles and images.
So you should to do the following things:
1. open your page in Yahoo's SiteBuilder
2. open generated with Deluxe Tuner html source code of the page in anytext editor
3. copy such lines from html source code
<noscript><a href="http://deluxe-menu.com">Javascript Menu by Deluxe-Menu.com</a></noscript>
<script type="text/javascript"> var dmWorkPath = "data.files/";</script>
<script type="text/javascript" src="data.files/dmenu.js"></script>
and add them in you <head> tag.
Then find such line, for example:
<script type="text/javascript" src="data.files/data.js"></script>
and add it in you <body> tag in the place where you want to have themenu. For example, you can paste it in <table> or <div> tag:
<table>
<tr><td><script type="text/javascript" src="data.files/data.js"></script></td></tr>
</table>
or
<div align=center>
<script type="text/javascript" src="data.files/data.js"></script>
</div>
For info see:
http://deluxe-menu.com/installation-info.html
You should also copy "data.files/" folder in the right place. In thefolder where you have you index.html page, created in Yahoo'sSiteBuilder.
Q: Cross-frame mode: after clicking on a menu item and the subframe is loading and then mouse over the menu when the subframe has not finished loading a javascript error occurs and then the javascript vertical menu breaks.
A: You can get this error when you load pages from the another domain.
Deluxe Menu can support this mode for the same domain only -- ifyou loaded a page to a subframe from another domain, the submenuscan't be shown in it. It happens because all browsers don't allow todo that for security reasons. Just imagine if you'll able to create aframeset from 2 frames, 1st frame will be with a zero height-width,and you'll load your page into it. Then user will go to another domainand your "invisible" frame will change a content of other pages!
Q: Tell us javascript code to select or highlight the tab and sub tab in javascript tabs navigation.
A: Deluxe Tabs doesn't support API functions which can return theselected tab.
You can set "bselectedItem" and " var bselectedSmItem" parametersbased on your link before you call your data file.
For example, move " var bselectedItem" and " var bselectedSmItem" parametersfrom your data file to your code.
<TD vAlign=top align=left>
/* Select Tab */
<script type="text/javascript" language="JavaScript1.2">
var bselectedItem=<?php echo $seltabs; ?>;
var bselectedSmItem=<?php echo $selsmtabs; ?>;
</script>
<SCRIPT src="data.js" type=text/javascript></SCRIPT>
</TD>
You should define seltabs and selsmtabs using server side script.
You can also set it on every page before you call data.js file, forexample:
<TD vAlign=top align=left>
/* Select Tab */
<script type="text/javascript" language="JavaScript1.2">
var bselectedItem=4;
var bselectedSmItem=3;
</script>
<SCRIPT src="data.js" type=text/javascript></SCRIPT>
</TD>