Recent Questions
Q: I’d like to know how to populate the navigation bar menu from a database?
A: Please, see the example of .php file.The content of .php file depends on your database structure.
<?php
// The example for PHP/MySQL.
// MySQL database has the table "menuTable" that contains data for menu items.
// The table has the following fields:
// 1. "text" - item text
// 2. "link" - item link
// 3. "icon1" - item icon (normal state)
// 4. "icon2" - item icon (mouseover state)
function getMenuItems()
{
$jsItems = '';
// Select all records from table "menuTable"
$allItems = mysql_query('SELECT * FROM menuTable;');
// Extract items data from database and build Javascript code for menuItems
while ($itemData=mysql_fetch_array($allItems))
{
$jsItems .= '["'.$itemData['text'].'", "'.$itemData['link'].'", "'.$itemData['icon1'].'", "'.$itemData['icon2'].'"],';
}
// Return Javascript code
return $jsItems;
}
?>
<script>
var menuParam1 = value1;
var menuParam2 = value2;
var menuParam2 = value2;
...
var menuItems = [
// Write Javascript code for menu items
echo getMenuItems();
?>
];
</script> Q: I’m trying to set up Ajax dhtml menu tree script but it doesn’t work..
A: To enable AJAX Tree Menu use the following menu parameters:
var tajax=1;
Then set your menu in such way:
var tmenuItems = [
["Deluxe Tree: XP Style","", "", "", "", "XP Title Tip", "", "0", "", "data-samples/data-ajax5.js", ],
["+Samples Gallery","", "", "", "", "XP Title Tip", "", "0", "0", "", ],
["|Samples Block 1","", "", "", "", "", "", "", "", "data-samples/data-ajax.js", ],
["|Samples Block 2","", "", "", "", "", "", "", "", "data-samples/data-ajax.js", ],
["|Samples Block 3","", "", "", "", "", "", "", "", "data-samples/data-ajax.js", ],
];
Each .js file must contain menuItems variable for the submenu in the following format:
var tmenuItems = [
[text, link, icon1, icon2, icon2, tip, target, itemStyle, submenuStyle, jsFileName],];
Where jsFileName - .js filename on the server that contains tmenuItems variable for the submenu.For example:
var tmenuItems = [
["Home","testlink.htm", "", "", "", "Home Page Tip", "", "", "", "", ],
["Product Info","", "", "", "", "Product Info Tip", "", "", "", "data-samples/data-ajax2.js", ],
["Samples","", "", "", "", "Samples Tip", "", "", "", "data-samples/data-ajax4.js", ],
["Purchase","testlink.htm", "", "", "", "Purchase Tip", "", "", "", "", ],
["Support","", "", "", "", "Support Tip", "", "", "", "", ],
["|Write Us","mailto:[email protected]", "", "", "", "", "", "", "", "", ],
];
See more info here:
http://deluxe-tree.com/ajax-menu-loading-sample.htmlQ: Is there a way to programmatical select an item in the scrolling menu without the user actual click on the item?
A: You can set a pressed item using Javascript API:
function dm_ext_setPressedItem (menuInd, submenuInd, itemInd, recursion)
Sets a current pressed item.
menuInd - index of a menu on a page, >= 0.
submenuInd - index of a submenu, >= 0.
itemInd - index of an item, >=0.
recursion = true/false - highlight parent items.
But notice, to use dm_ext_setPressedItem() you should know ID of selected item and subitem.
You can't get this ID after you reload your page. That is why you should write your own code on PHP.
Q: Hello. I'm trying your javascript expanding menu but cant get a clicked menu to stay highlighted. It works sometimes in Firefox but never in explorer.
With sometimes I mean that if I click a link and that paticular link leeds to nowhere, and i've to click the browsers back button.....then the link I clicked is highlighted when I return. If I make a link that leeds to a new page (with exactly the same code as was generated from delux tuner), then nothing is highlighted. Does this 'higlightstate' work at all?
A: Javascript expanding menu 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 apyt_ext_setPressedItem(menuInd, itemID)
<script type="text/javascript">
var I = 4 //index of the selected item
onload=setPressed;
function setPressed()
{
dtreet_ext_setPressedItem(0,dtreet_ext_getItemIDByIndex(0, i));
}
</script>