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: We have a problem with true type fonts. The dropdown menu in html does not showing properly for Turkish letters. We are using true type fonts (bold 10px TR Tahoma).
A: Font.If there will be no TR Tahoma font on the user machinethe font won't be shown correctly.
You can find another font similar to your font and write it through a comma.
You should choose the font among the following fonts:
Arial
Tahoma
Times New Roman
Trebuchet MS
Verdana
These fonts are installed on the most of windows computers.
For example:
var fontStyle=["bold 9px TR Tahoma, Tahoma","bold 9px TR Tahoma, Tahoma"];
Or you can create images with text and use it for the top items.
Encoding.
You can save your data file in UTF-8 in Windows version of DeluxeTuner v3.2.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 manuallychange your letters in any text editor.
You can also replace your letters with special sets, for example
É - Capital E, acute accent - É
ç - Small c, cedilla - ç
var menuItems = [
["É....","testlink.html", "", "", "", "", "", "", "", ],
["ç....","testlink.html", "", "", "", "", "", "", "", ],
Q: Where can I give the body of the javascript method which I use in cool dhtml menu?
A: You can define functions after menuItems, before you call dm_init();function.
var menuItems = [
["text", "javascript:your_function(...)", ...]
];
Where your_function(...):
function your_function(...)
{
.....
}
Q: How would I use the submenu feature to display itself only if a person is logged in. such as if a person logged in then the member area would expand, else it would always stay closed with only the login username section showing?
A: Unfortunately it is not possible. You can only add items depending onthe logged user.
You should use API functions:
see more info:
http://deluxe-menu.com/functions-info.html
For example, you can use:
function dtreet_ext_insertItem (menuInd, parentItemID, itemInd, itemParams)
function dtreet_ext_deleteItem (menuInd, itemID)
function dtreet_ext_showItem (itemID, visibility)
function dtreet_ext_expandItem (itemID, expand)