Dynamenu is an add-in box which will display your categories as a DTHML horizontal drop-down or vertical fly-out menu, an expandable/collapsable tree menu, or even as plain vertical or horizontal menus. The main file includes easy to set options to set the type of menu you desire and the way it behaves. With dynamenu, you can even opt not to display it in the usual "box" so that it can be seamlessly integrated with your store template for a truly custom look!
Dynamenu is powered by the excellent PHP Layers Menu library which has been extensively tested for cross-browser compatibility and is driven by a well-commented stylesheet to make it easy to modify. Most menus use Javascript but are rendered on-the-fly as HTML, so they fall back nicely for the poor souls without Javascript enabled.
Sorry, can't post a link to a demo, but if you search Google for Dynamenu or PHP Layers Menu, it won't be hard to find ;)
A forum thread has been started here:
http://forums.oscommerce.com/index.php?showtopic=209045
for your feedback, questions or if you want to show off your new menu!
Legend: 
Download

Report
I don`t like the dm menu in a box, but its also not so good on its own, so 1 added this,
Provides header plus frame, default is as drop shadow on right. Also ensures dm menu is centered.
You can alter colours & effect by changing the css entry.
Piccola modifica e immagini per un template del Fly-out verticale
A little fix to get the Dynamenu to work with the Multi-Stores multiple shop system.
Line 246 in include/boxes/dm_categories.php:
$result = tep_db_query('select c.categories_id, cd.categories_name, c.parent_id from ' . TABLE_CATEGORIES . ' c, ' . TABLE_CATEGORIES_DESCRIPTION . ' cd where c.categories_id = cd.categories_id and cd.language_id="' . (int)$languages_id .'" '.$parent_query.'order by sort_order, cd.categories_name');
change to:
$result = tep_db_query('select c.categories_id, cd.categories_name, c.parent_id from ' . TABLE_CATEGORIES . ' c, ' . TABLE_CATEGORIES_DESCRIPTION . ' cd, ' . TABLE_CATEGORIES_TO_STORES . ' cc where c.categories_id = cd.categories_id and c.categories_id = cc.categories_id and cc.stores_id = "' . STORES_ID . '" and cd.language_id="' . (int)$languages_id .'" '.$parent_query.'order by sort_order, cd.categories_name');
When you install DynaMenu and use the "treemenu" style, the first item of menu doesn't collapse/expand when clicked.
I have finally found the error! :-)
Look for this row in treemenu.inc.php
$a_href_open = '<a href="' . $this->tree[$cnt]['parsed_href'] . '"' . $this->tree[$cnt]['parsed_title'] . ' class="' . $linkstyle . ' '. $this->tree[$cnt]['parsed_target']. '">';
and simply substitute it whit this one:
$a_href_open = '<a onmousedown="' . $toggle_function_name . '('' . $cnt . '')" href="' . $this->tree[$cnt]['parsed_href'] . '"' . $this->tree[$cnt]['parsed_title'] . ' class="' . $linkstyle . ' '. $this->tree[$cnt]['parsed_target']. '">';
The errore was caused by the lacking of the toggle function in some branches.
I hope it will help you all: I have "wasted" more than a couple of days in lookinfg for such a solution :-/
(great contribution anyway, thanks for it!!)
I had a whitespace problem when using this contribution where there was a few pages of whitespace added to the base all pages where the "hidden" divs were defined in the documnet.
It may simply be an interaction between this and other advanced web scripts on our website so would recomend use ONLY if you encounter whitespace issues.
Simple fix... Adjusted the CSS so the Submenu display style is a block ;)
I recently realized that the Vertical Flyout has a problem with Opera.
The Categories bos is empty in Opera .
Its Ok with Internet Explorer .(ie)
I changed a line in Stylesheet.css and now there is no problem.
edit stylesheet.css file
Change .vertitem a {
position:fix: --->to position: relative;
Its better than before
Bug fix
I had forgotten to add the $hide_subcategories_of variable to the globals in the function tep_make_cat_dmbranch()
Now working correctly
Here i send 4 new templates for dynamenu.
Some templates need to reconfigure the image extension on treemenu.inc.php located in includes/functions/dynameny/
Set:
$img_folder_closed = $this->imgwww . $this->treeMenuTheme . 'tree_folder_closed.' . $this->treeMenuImagesType;
$alt_folder_closed = '->';
$img_folder_open = $this->imgwww . $this->treeMenuTheme . 'tree_folder_open.' . $this->treeMenuImagesType;
$alt_folder_open = '->';
$img_leaf = $this->imgwww . $this->treeMenuTheme . 'tree_leaf.' . $this->treeMenuImagesType;
to:
$img_folder_closed = $this->imgwww . $this->treeMenuTheme . 'tree_folder_closed.gif';
$alt_folder_closed = '->';
$img_folder_open = $this->imgwww . $this->treeMenuTheme . 'tree_folder_open.gif';
$alt_folder_open = '->';
$img_leaf = $this->imgwww . $this->treeMenuTheme . 'tree_leaf.gif';
Regards from spain!
Tested Tree(menu type 2) and Plain Verticle Menu(menu type 4) Modification
What this does:
This small modification limits the length of the product name (selectable) displayed in the menu, but shows the full product name when the mouse is placed over the menu product name.
I am using the tree menu option, and didn't want the full product name rearranging my page when displayed.
2 files to replace and you're good to go.
Note: Not a full package, just the 2 updated files & instructions
I saw that for some browsers the treemennu was aligned to the right and that did not look good. To solve this you can add ' align=left ' to the DIV in treemenu.inc.php. This is not the full package, just the modified file.
It should now look fine in all browsers.
I needed the ability to show products in my DynaMenu as well as categories, and I saw several others had asked about this too so decided once I had it figured out to upload it as an add-on for those who want it.
I started with the code from Mikey who had figured out how to do this - but it was generating over 60 queries per page on my site to get the products. I changed Mikey's function to an object so it only takes one query.
I am not an experienced programmer and I did have quite a bit of help getting this working for my site. I will do my best to help people troubleshoot if it doesn't work with their site - but I can't make any promises that it will work for you, or that I can find the problem if it doesn't.
Hope this works well for those who want this ability! :)
An astute DM user pointed out a couple of the images used in tree menus were missing from the package.
This is the full download with the missing tree menu images included: tree_expand_corner_first.gif & tree_collapse_corner_first.gif
For those of you using DHTML Dynamenus with a lot of subcategories under a given category, this release allows you to optionally specify how many subcategories to display and generates a "more" menu link to display the remaining subcategories.
An optional alternate set of DHTML drop-down, fly-out menu templates is also included which removes table-hacks and transparent images, for users who don't need Opera 6/MSIE 5 or older browser support.
Existing Dynamenu user's need only copy over their dm_categories.php file and reset their config options.
Dynamenu is an add-in box which will display your categories as a DTHML horizontal drop-down or vertical fly-out menu, an expandable/collapsable tree menu, or even as plain vertical or horizontal menus. The main file includes easy to set options to set the type of menu you desire and the way it behaves. With dynamenu, you can even opt not to display it in the usual "box" so that it can be seamlessly integrated with your store template for a truly custom look!
Dynamenu is powered by the excellent PHP Layers Menu library which has been extensively tested for cross-browser compatibility and is driven by a well-commented stylesheet to make it easy to modify. Most menus use Javascript but are rendered on-the-fly as HTML, so they fall back nicely for the poor souls without Javascript enabled.
Sorry, can't post a link to a demo, but if you search Google for Dynamenu or PHP Layers Menu, it won't be hard to find ;)
A forum thread has been started here:
http://forums.oscommerce.com/index.php?showtopic=209045
for your feedback, questions or if you want to show off your new menu!