Bonjour,
Quelque chose comme ceci :
<script type="text/javascript">
function hideAll()
{
document.getElementById('notifform').style.display = 'none';
}
function showForm(obj)
{
obj.style.display = 'block';
}
</script>
<style type="text/css">
#notifform
{
display: none;
}
</style>
<{if $xoops_notification.show}>
<p>
<span style="float:right;font-size:12px;font-weight:bold;">
<{$lang_notificationoptions}>
<a href="javascript:;" onclick="hideAll();showForm(document.getElementById('notifform'));">+</a>/
<a href="javascript:;" onclick="hideAll();">-</a>
</span>
</p>
<form id="notifform" name="notification_select" action="<{$xoops_notification.target_page}>" method="post">
<h4 style="text-align:center;"><{$lang_activenotifications}></h4>
<input type="hidden" name="not_redirect" value="<{$xoops_notification.redirect_script}>" />
<table class="outer">
<tr><th colspan="3"><{$lang_notificationoptions}></th></tr>
<tr>
<td class="head"><{$lang_category}></td>
<td class="head"><input name="allbox" id="allbox" onclick="xoopsCheckAll('notification_select','allbox');" type="checkbox" class="checkbox" value="<{$lang_checkall}>" /></td>
<td class="head"><{$lang_events}></td>
</tr>
<{foreach name=outer item=category from=$xoops_notification.categories}>
<{foreach name=inner item=event from=$category.events}>
<tr>
<{if $smarty.foreach.inner.first}>
<td class="even" rowspan="<{$smarty.foreach.inner.total}>"><{$category.title}></td>
<{/if}>
<td class="odd">
<{counter assign=index}>
<input type="hidden" name="not_list[<{$index}>][params]" value="<{$category.name}>,<{$category.itemid}>,<{$event.name}>" />
<input type="checkbox" class="checkbox" id="not_list[]" name="not_list[<{$index}>][status]" value="1" <{if $event.subscribed}>checked="checked"<{/if}> />
</td>
<td class="odd"><{$event.caption}></td>
</tr>
<{/foreach}>
<{/foreach}>
<tr>
<td class="foot" colspan="3" align="center"><input type="submit" class="button" name="not_submit" value="<{$lang_updatenow}>"/></td>
</tr>
</table>
<div align="center">
<{$lang_notificationmethodis}>: <{$user_method}> [<a href="<{$editprofile_url}>"><{$lang_change}></a>]
</div>
</form>
<{/if}>
sinon, il y a plein de solution avec jquery ou simplement avec du css3
mot clés google -> menu accordion