4
Another way that you can modify the main menu and not affect the way that it does its magic is by modifying the template for it in the XOOPS Admin->System Admin->Templates manager. This template should be under the systems module. This way it will show up the same way under every theme that you have available.
system_block_mainmenu.html is the template that you will need to edit. Just look at the code to match up the css styles and you should be fine. I had to do this to add in a couple custom links to the user block.
<table width="100%" cellspacing="0">
<tr>
<td id="mainmenu">
<a class="menuTop" href="<{$xoops_url}>/"><{$block.lang_home}></a>
<!-- start module menu loop -->
<{foreach item=module from=$block.modules}>
<a class="menuMain" href="<{$xoops_url}>/modules/<{$module.directory}>/"><{$module.name}></a>
<{foreach item=sublink from=$module.sublinks}>
<a class="menuSub" href="<{$sublink.url}>"><{$sublink.name}></a>
<{/foreach}>
<{/foreach}>
<!-- end module menu loop -->
</td>
</tr>
</table>
I supplied the original code for the main menu. Just add in your custom links after the last closing tag for the row.
<table width="100%" cellspacing="0">
<tr>
<td id="mainmenu">
<a class="menuTop" href="<{$xoops_url}>/"><{$block.lang_home}></a>
<!-- start module menu loop -->
<{foreach item=module from=$block.modules}>
<a class="menuMain" href="<{$xoops_url}>/modules/<{$module.directory}>/"><{$module.name}></a>
<{foreach item=sublink from=$module.sublinks}>
<a class="menuSub" href="<{$sublink.url}>"><{$sublink.name}></a>
<{/foreach}>
<{/foreach}>
<!-- end module menu loop -->
</td>
</tr>
<tr>
<td>
<a href="<{$xoops_url}>/customlinklocation">custom link</a>
</td>
</tr>
</table>
If you do that you should be good to go with custom links in your main menu.