Pick and choose any menu item, from any Joomla menu, at any level, and render all of them, and optionally their children, as one menu on the front-end.
Turns this:
Into this:
Turns This:
Into this:
By selecting to render parent and child menu items, but not chldren of the parents selected.
- Supports view access parameter (ACL)
- Supports menu item manager ordering
Performance and memory consumption may vary by implementation.
In a test using Joomla 2.5 sample data, rendering all levels of:
Both the Main and About Joomla menus
Menu Wrench
- Application 0.116 seconds (+0.004); 13.96 MB (+0.299) - beforeRenderModule mod_menuwrench (Menu Wrench)
- Application 0.148 seconds (+0.033); 14.37 MB (+0.407) - afterRenderModule mod_menuwrench (Menu Wrench)
- Memory Usage: 14.45 MB (15,148,576 Bytes)
Core Menu Module
- Application 0.117 seconds (+0.004); 13.97 MB (+0.302) - beforeRenderModule mod_menu (Main Menu)
- Application 0.132 seconds (+0.014); 14.34 MB (+0.368) - afterRenderModule mod_menu (Main Menu)
- Application 0.132 seconds (+0.000); 14.32 MB (-0.011) - beforeRenderModule mod_menu (About Joomla)
- Application 0.193 seconds (+0.061); 14.67 MB (+0.341) - afterRenderModule mod_menu (About Joomla)
- Memory Usage: 14.71 MB (15,427,464 Bytes)
Only the Main menu
Menu Wrench
- Application 0.109 seconds (+0.004); 13.96 MB (+0.298) - beforeRenderModule mod_menuwrench (Menu Wrench)
- Application 0.121 seconds (+0.012); 14.27 MB (+0.305) - afterRenderModule mod_menuwrench (Menu Wrench)
- Memory Usage: 14.31 MB (15,002,584 Bytes)
Core Menu Module
- Application 0.121 seconds (+0.004); 13.96 MB (+0.299) - beforeRenderModule mod_menu (Main Menu)
- Application 0.135 seconds (+0.015); 14.33 MB (+0.368) - afterRenderModule mod_menu (Main Menu)
- Memory Usage: 14.36 MB (15,056,744 Bytes)
- Link Type Options (Joomla 2.5): Not supported.
While Menu Wrench is being used in production, on a limited basis, it's status is still considered beta as backwards incompatible changes may take place.
The master branch will, at all times, remain stable. Development for new features will occur in branches, and when ready, will be merged into the master branch.
In the event features have already been merged for the next release series, and an issue arises that warrants a fix on the current release series, the developer will create a branch based off the tag created from the previous release, make the necessary changes, package a new release, and tag the new release. If necessary, the commits made in the temporary branch will be merged into master.
Shocking as it may seem, my goal is to also support Joomla 1.5. Therefore, the following branch schema will be followed:
- master: stable at all times, containing the latest tagged release for Joomla 2.5+.
- develop: the latest version in development for Joomla 2.5+. This is the branch to base all pull requests for Joomla 2.5+ on.
- 1.5-master: stable at all times, containing the latest tagged release for Joomla 1.5.
- 1.5-develop: the latest version in development for Joomla 1.5. This is the branch to base all pull requests for Joomla 1.5 on.
Your contributions are more than welcome! Please make all pull requests against the appropriate develop branch for Joomla version 2.5+ and 1.5-develop for Joomla version 1.5.