My modifications were to the YOOtheme Nu template for Joomla 1.5. All of my line references below are for that template and could differ between different YOOtheme templates. Modifications to other templates though would follow the same general idea though.
To implement some of the specific styling and functions in the menus, YOOtheme uses the Joomla template override feature. Since the template override for the menus targets the use of the mod_mainmenu module, not the mod_mainmenu_juga module, you can't use the JUGA menu module with the "out of the box" YOOtheme templates. Modifying the template to work with the JUGA menu module is fairly straightforward though.
First, find the html directory in your YOOtheme's template directory. Create a copy of the mod_mainmenu folder, and rename that copy to mod_mainmenu_juga. Then rename the file yoomenu.php in the mod_mainmenu_juga folder to yoomenujuga.php.
Now you just need to edit the contents of the default.php file and the yoomenujuga.php file, as I outline below. After I did that, the JUGA menu module worked perfectly with the YOOtheme menu styling, including the accordion menus. All that YOOtheme styling and functionality now works in concert with the JUGA permissions system though.
In the default.php file change the following lines:
Line similar to (around line 15):
| Code: |
require_once(JModuleHelper::getLayoutPath('mod_mainmenu', 'yoomenu'));
|
Change to:
| Code: |
require_once(JModuleHelper::getLayoutPath('mod_mainmenu_juga', 'yoomenujuga'));
|
Line similar to (around line 21):
| Code: |
$yoomenu = &YOOMenu::getInstance();
|
Change to:
| Code: |
$yoomenu = &YOOMenuJuga::getInstance();
|
Line similar to (around line 24):
| Code: |
modMainMenuHelper::render($params, 'YOOMenuXMLCallback');
|
Change to:
| Code: |
jugaMainMenuHelper::render($params, 'YOOMenuJugaXMLCallback');
|
Then in the yoomenujuga.php file, you need to change the following:
Line similar to (around line 13):
| Code: |
function YOOMenuXMLCallback(&$node, $args) {
|
Change to:
| Code: |
function YOOMenuJugaXMLCallback(&$node, $args) {
|
Line similar to (around line 15):
| Code: |
$yoomenu = &YOOMenu::getInstance();
|
Change to:
| Code: |
$yoomenu = &YOOMenuJuga::getInstance();
|
Line similar to (around line 116):
Change to:
| Code: |
class YOOMenuJuga {
|
Line similar to (around line 128):
| Code: |
$instance = new YOOMenu();
|
Change to:
| Code: |
$instance = new YOOMenuJuga();
|