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 ordered & installed the dhtml collapsable menu.
I can't seem to get the floating function to work. Here's how I have the variables set in the data-tree.js file:
var tfloatable = 1;
var tfloatIterations = 10;
var tfloatableX = 0;
var tfloatableY = 1;
And here are the links to the .js files in my HTML doc <head>:
<!-- Deluxe Tree -->
<noscript><a href="http://deluxe-tree.com">JavaScript Tree Menu by Deluxe-Tree.com</a> </noscript>
<script type="text/javascript"> var tWorkPath="tree-menu/";</script>
<script type="text/javascript" src="tree-menu/dtree.js"></script>
<script type="text/javascript" src="tree-menu/dtree_add.js"></script>
<script type="text/javascript" src="tree-menu/dtree_ajax.js"></script>
<script type="text/javascript" src="tree-menu/dtree_dyn.js"></script>
<!-- Copyright (c) 2006, Deluxe Tree, deluxe-tree.com -->
Please let me know if there are any other settings that need to be changed. I'm hoping to go live with this site wed. so a quck reply is appreciated.
A: Notice, your dhtml collapsable menu won't float with relative position. You shouldset:
var tabsolute=1;
Q: I'd like to be able to right click on items in a dynamic tree view and then pick actions to perform from a context menu
Is this possible?
A: You can use API functions
function dtreet_ext_userRightClick (itemID)
See more info here:
Presumably I need to add the script (for example) <A HREF="http://deluxe-menu.com/features-info.html" TARGET="_self" "..javascriptHere ..">. Can you give me an example please of what code goes into there.
I presume I use dm_ext_setPressedItem (menuInd, submenuInd, itemInd, recursion) but where do I get the ????Ind data from and make the javascript call in the above link.
A copy of a working example together with where to get the data , perhaps on your own web pages, would help.
A: Deluxe Tree doesn't save a presseditem as it saves a tree state. It works within 1 page only and if youreload the page you should set a pressed item using Javascript API:
function dtreet_ext_setPressedItem (menuInd, itemID)
<script type="text/javascript">
var i = <?php echo $selitem; ?>;
onload=setPressed;
function setPressed()
{
dtreet_ext_setPressedItem(0,dtreet_ext_getItemIDByIndex(0, i));
}
</script>
You should define selitem using server side script.