@Solo71 : voici les modifications effectuées, et ce qu'il faudrait pouvoir mettre en variable pour laisser le soin au webmaster de placer son menu comme il le souhaite.
dans le fichier : templates/multimenu_dyn_02.html
Juste des modificationss de feuille de style :
<style type="text/css">
#dropmenudiv<{$block.mm}> {
position:absolute;
margin-left:<{if $block.block_size >= 0}><{$block.block_size+3}><{else}><{$block.block_size+60}><{/if}>px;
_margin-left:<{if $block.block_size >= 0}><{$block.block_size+3}><{else}><{$block.block_size+30}><{/if}>px;
html>body margin-left:18px;
<{if $block.block_size >= 0}>*> margin-left:18px;<{/if}>px;
margin-top:-23px;
_margin-top:-30px;
border: 1px solid black;
border-bottom-width: 0;
}
#dropmenudiv<{$block.mm}> a {
width: <{$block.block_size}>px;
display: block;
text-indent: 2px;
_text-indent: 12px;
border-bottom: 1px solid black;
padding: 4px 12px;
_padding: 4px 0;
background: url('<{$xoops_url}>/modules/multiMenu/script/images/arrow1.gif');
background-repeat: no-repeat;
background-position: <{if $block.block_size >= 0}>left<{else}>right<{/if}> 50%;
}
#dropmenudiv<{$block.mm}> a:hover{ /*hover background color*/
}
.menuTop a {
cursor:pointer;
}
</style>
On retrouve dans le code ci-dessus, les valeurs par défaut qu'il faudrait proposer.
Et voici, ce qu'il faudrait mettre comme variables :
Citation :
A faire en double pour les menus de gauche et de droite :
margin-left (décalage du bloc déroulé)
_margin-left (décalage du bloc déroulé, affecte seulement IE)
margin-top (réglage de la hauteur du bloc déroulé)
_margin-top (réglage de la hauteur du bloc déroulé, affecte seulement IE)
Je pense que c'est tout pour cette partie.
Ensuite, s'il y a des modifications à faire : espace dans les cellules et autres couleurs ou bordures, il faudra qu'ils mettent les mains dans le code css, comme d'habitude en fait.
Au pire, à ajouter plus tard.
Ce qui sera bien avec ce système, c'est que chacun aura un menu personnalisé et adapté à son thème.
J'espère que ça ne fait pas un truc trop galère à monter pour toi ?!
Quand tu auras mis en place, je (et d'autres xoopsiens) retesterai sur divers thèmes que j'ai sous la main, pour voir si c'est exploitable.
Et enfin, la dernière modification, à apporter à tous les fichiers du dossier script/02/*.js
Elle porte sur la gestion des menus de droite (valeur négative)
J'ai multiplié par -0.8 pour obtenir une largeur standard.
Ca peut-être une valeur intéressante à mettre en variable si possible. (je pense que oui, vu que tu arrives déjà à récupérer des valeurs telles que menuwidth ou menubgcolor).
function showhide(obj, e, visible, hidden, menuwidth){
if (ie4||ns6)
dropmenuobj.style.left=dropmenuobj.style.top=-500
if (menuwidth>=0){
dropmenuobj.widthobj=dropmenuobj.style
dropmenuobj.widthobj.width=menuwidth
}
if (menuwidth<0){
dropmenuobj.widthobj=dropmenuobj.style
dropmenuobj.widthobj.width=-0.8*menuwidth
}
if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover")
obj.visibility=visible
else if (e.type=="click")
obj.visibility=hidden
}