Recent Questions
Q: Compliments on your product, I particularly enjoy the complete set of gui and java, that allows for the quick changes.
After a couple of months of using the trial, I have now purchased it and installed the license.
My question however regards the performance of the menu. Using firebug I note that my deluxe menu .js are the performance bottlenecks, It appears as if they are not being cached and it appears that collecting them is taking longer then the other .js files. What can I do to optimize the load time of the javascript multi level menu and prevent, reloading it from the server with every page reload. The apache has set the expiry correct I believe, as I understand from the header.
A: You can try to use AJAX technology.
AJAX-like technology: data for submenus can be loaded "on-the-fly" from the server.
New parameter:
var tajax = 0/1; - disables/enables AJAX-like support
Current syntax for item parameters ( var tmenuItems):
[text, link, iconNormal, iconOver, iconExpanded, tip, target, itemStyleInd, itemXPStyleInd, jsFileName]
Where jsFileName - .js filename on the server with submenu items ( var tmenuItems).
Q: I need to work it with PHP/MySQL. I have found some information on it in your Support section, but have problems to understand and wonder if you have more information or a working sample of the loading bar with PHP/ MySQL.
A: Info about generating menu (menu items )from a database, please, see:
http://deluxe-menu.com/generate-menu-from-database-xml-php-asp-vb-support.html
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 = [
<?php
// Write Javascript code for menu items
echo getMenuItems();
?>
];
</script>
Q: I can not figure out how you put the arrow that shows there's more information in the php drop down menu?
I tried and tried to figure it out where you add this .gif file?
A: You should set the following parameters in your data.js file:
var arrowImageMain=["deluxe-menu.files/arrowmain.gif","deluxe-menu.files/arrowmaino.gif"];
//Normal and mouseover arrow images for top-level items.
var arrowImageSub=["deluxe-menu.files/arrowsub.gif","deluxe-menu.files/arrowsubo.gif"];
// Normal and mouseover arrow images for submenu items.
You can set these parameters in Deluxe Tuner also:
Open 'Icons' section in the main window and set var arrowImageMain and var arrowImageSubparameters.
Q: I'm interesting in dhtml menue ability to display a different color word on a menu item when the site is on that selected page
A: The menu has only two states normal and mouseover. We'll try to add the pressed state in the future.
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.