Recent Questions
Q: Hi, I am looking at your Deluxe Menu package. It looks very nice, but I cannot find any kind of manual for how to use it. There's some online documentation on the Tuner, but (for example) I can't find anything that documents the dm_popup window open options. I find some sample code I can copy that has the call
return dm_popup(0, 1000, event)
1. So, what do these parameters mean?
2. It takes a long time for the menu to go away if you don't click anything. From tracing through the obfuscated javascript with firebug, it looks like the second parameter sets a timeout to make the menu go away. But when I change the "1000" to "1", the menu does not appear to behave any differently.
3. If I want to have more than one of these menus show up on the page, how would I do that?
4. I have it set up to show the popup when you right-click a page element. However, the menu items only appear to fire if you then left-click them. This is confusing to the user: I'd like to have the menu items also fire when you right-click them for consistency. How would I configure this?
These are the kinds of questions I would like to have answers to, but I cannot find any relevant documentation. Do I have lots of tracing through javascript ahead of me? If I have just missed the relevant documentation, please tell me where to find it. I would love to use your product, but if I have to spend all my time tracing javascript it's not a big win for me. Thanks for your assistance.
A: 1) You can find window open options info on our website:
http://deluxe-menu.com/popup-mode-sample.html
Click "Show additional info" button on this page.
2) You should adjust the second parameter in dm_popup() function:dm_popup(0, 500, event);
3) See the first parameter in the dm_popup() function is menuInd, soif you want to create several popup menus you should create severaldata file and call them on your page, for example:
<script type="text/javascript" language="JavaScript1.2" src="menu-top.js"></script> // ID - 0 //standard menu (doesn't use popup feature)
<script type="text/javascript" language="JavaScript1.2" src="source_pop.js"></script> // ID - 1
<script type="text/javascript" language="JavaScript1.2" src="source_pop1.js"></script> // ID - 2
<script type="text/javascript" language="JavaScript1.2" src="source_pop2.js"></script> // ID - 3
<script type="text/javascript" language="JavaScript1.2" src="source_pop3.js"></script> // ID - 4
and so on.
See how you should call dm_popup() functions:
<img src="../../../../fileadmin/img/flag_de.gif" width="50"
onMouseOver="return dm_popup(1, 2000, event);" style="cursor: pointer;">
// 1 - is ID of the second menu
....
<img src="../../../../fileadmin/img/flag_fr.gif" width="50"
onMouseOver="return dm_popup(2, 2000, event);" style="cursor: pointer;">
// 2 - is ID of the third menu
// 3 - is ID of the fourth menu
... and so on.
4) Unfortunately it is not possible now.
Unfortunately we don't have additional documentation yet. But you canfind all need info on our website. Try to use search field on ourwebsite.
> I have another question. My popup menus are not fixed, they are dynamic in
> the sense that I have multiple rows showing up on the page and each row
> needs to have custom information passed. Each row has one or more database
> identifiers associated with it, and the ajax calls that will get fired
> when I choose a menu item such as "Edit" or "Add Child" will need those
> database identifiers. How would I pass this information?
You can dynamically generate the menu structure. For example movemenuItems into your phph page (or embed in a Smarty Template) insideSCRIPT tag:
<script type="text/javascript">
var menuItems = [
["Terminal","index.php?form=TERMINAL&tid={$tid}"],
["Kassenschnitte","index.php?form=KS&tid={$tid}"],
["Buchungen Debit","index.php?form=DEBIT&tid={$tid}"],
["Kredit- / Bonuskarten","index.php?form=KREDIT&tid={$tid}"],
["Rucklastschriften","index.php?form=RLAST&tid={$tid}"],
["Monatsstatistik","index.php?form=STATISTIK&tid={$tid}"],
["RL-H.Rechnung","index.php?form=RLASTABR&tid={$tid}"],
["LiveStream","index.php?form=LIVESTREAM&tid={$tid}"],
["Reports","index.php?form=REPORTS&tid={$tid}"],
["Datenhistorie","index.php?form=HISTORY&tid={$tid}"],
["Bankleitzahlen","index.php?form=BLZ&tid={$tid}"],
["<br />Ihre Nutzerdaten","index.php?form=NDATEN&tid={$tid}"],
["<br />{$NAVI}",""],
];
dm_init();
</script>Q: Do the Vista style menus support a separator?
It seems to add some space but the separator line is not drawn.
A: Yes, you can paste a separator in the Vista style menus.
Please, see the following parameters:
//--- Separators
var separatorImage=""; //for subitems
var separatorWidth="5";
var separatorHeight="100%";
var separatorAlignment="right";
var separatorVImage="images/public/separator.gif"; //for the top items
var separatorVWidth="3";
var separatorVHeight="100%";
var separatorPadding="";
You should set a separator in the menuItems, for example:
var menuItems = [
["Home","index.cfm", , , , , , , , ],
["-"],
["About Us","about.cfm", , , , , , , , ],
];
Try that.
Q: I am currently having a look at the use of your drop down menu and was wondering if there was an option to make all of the top menu links the same size?
At current It looks like it is on a percentage increase related to the amount of text, can I change this to a fixed value no matter the text amount?
A: You can use Individual Item Style.
Use that parameter:
var itemWidth=100px
Width of an item (px, % or other units).
For example:
var itemStyles = [
["itemWidth=150"], // style 0
];
var menuItems = [
["Home", "index.html", "myicon1.gif", "myicon2.gif", "Home Page Tip", "_self", "0"], // assign style 0
["About", "about.html", "myicon3.gif", "myicon4.gif", "About Us Tip", "_self", "0"], // assign style 0
];
Q: Can I use javascript to get the object (getElementByID). If not howdo I hide my dropdown menu on print?
A: You can add a new button to print your page and call onClick event, soyou should write:
<body ....
onClick="document.getElementById('dm0m0').style.visibility='hidden'; window.print();">
...
</body>
Or you can use the same javascript code from your menu item.
For example:
var menuItems = [
["Print", "javascript:document.getElementById('dm0m0').style.visibility='hidden';
window.print();", icon1, icon2],
];
But if you want to hide the menu when your customers push "File/Print"you should write so:
You must create two functions, for example:
function myprint()
{ document.getElementById('dm0m0').style.visibility='hidden';
window.print();
}
function myprint2()
{ document.getElementById('dm0m0').style.visibility='visible';
window.print();
}
You should add this functions into your code.
And then you must write so:
window.onbeforeprint = myprint;
window.onafterprint = myprint2;