Fork me on GitHub




« 1 2 3 (4) 5 6 7 ... 45 »


Re: [TEST] multiMenu 1.8 beta, quand multiMenu devient dynamique
Admin Frxoops
Inscrit: 04/02/2003 07:37
De Belgique
Messages: 3372
Citation :

blueteen a écrit:

sinon, pour l'instant, je n'en suis qu'aux liens standards et liens secondaires permanents.

reste à tester les menus secondaires dynamiques, les notes et les catégories (pour l'instant non concluant)


Les liens secondaires permanents et dynamiques, c'est la même choses. La différence est surtout gérée au niveau php, pas au niveau des templates.

Permanent : apparaît partout.
Dynamique : apparaît seulement si on est dans le même module que celui employé par le lien principal dont dépend le lien secondaire.

En tout cas beau travail. Si tes menus sont plus concluants que les miens, je les mettrais par défaut dans multiMenu (si tu veux bien).

Pendant ce temps, je m'attache à rédiger le guide.


Posté le : 17/01/2006 12:33
Partager Twitter Partagez cette article sur GG+
Re: [TEST] multiMenu 1.8 beta, quand multiMenu devient dynamique
Admin Frxoops
Inscrit: 04/02/2003 07:37
De Belgique
Messages: 3372
@Blueteen: tu peux me mettre ton code html/smarty ? Comme ça je pourrais te guider un peu.


Posté le : 17/01/2006 12:34
Partager Twitter Partagez cette article sur GG+
Re: [TEST] multiMenu 1.8 beta, quand multiMenu devient dynamique
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
salut !
pas de pbs, j'ai simplement remplacé le template de ton menu dynamique 2 par ce code :

<style type="text/css">

ul#primary-nav,
ul#primary-nav ul {
    
margin0;
    
padding0;
    
width150px/* largeur des menus */
    
border-bottom1px solid #ccc;
    
background#fff; /* IE6 Bug - couleur de fond des cellules doit être définie */
    
font-size100%;
    }

ul#primary-nav li {
    
positionrelative;
    list-
stylenone;
    }

ul#primary-nav li a {
    
displayblock;
    
text-decorationnone;
    
color#777; /* couleur de la police dans les cellules */
    
padding3px/* espace à l'intérieur de la cellule */
    
border1px solid #ccc; /* couleur des bordures des cellules */
    
border-bottom0;
    }

/* Fix IE. Hide from IE Mac */
html ul#primary-nav li { float: left; height: 1px; }
html ul#primary-nav li a { height: 1px; }
/* End */

ul#primary-nav ul {
    
positionabsolute;
    
displaynone;
    
left148px/* définir 2px de moins que la largeur définie */
    
top0/* alignement du premier sous-menu avec le lien principal */
    
}

ul#primary-nav li ul li a { padding: 2px 5px; } /* styles des sous-menus */
/* 5px = espace gauche/droite, texte à l'intérieur de la cellule */
/* 2px = espace haut/bas, texte à l'intérieur de la cellule */

ul#primary-nav li:hover ul ul, /* gère 2ème niveau */
ul#primary-nav li:hover ul ul ul, /* gère 3ème niveau */
ul#primary-nav li:hover ul ul ul ul, /* gère 4ème niveau */
ul#primary-nav li:hover ul ul ul ul ul, /* gère 5ème niveau */
ul#primary-nav li.over ul ul, /* gère 2ème niveau */
ul#primary-nav li.over ul ul ul, /* gère 3ème niveau */
ul#primary-nav li.over ul ul ul ul, /* gère 4ème niveau */
ul#primary-nav li.over ul ul ul ul ul { display: none; } /* gère 5ème niveau */

ul#primary-nav li:hover ul,
ul#primary-nav li li:hover ul, /* gère 2ème niveau */
ul#primary-nav li li li:hover ul, /* gère 3ème niveau */
ul#primary-nav li li li li:hover ul, /* gère 4ème niveau */
ul#primary-nav li li li li li:hover ul, /* gère 5ème niveau */
ul#primary-nav li.over ul,
ul#primary-nav li li.over ul, /* gère 2ème niveau */
ul#primary-nav li li li.over ul, /* gère 3ème niveau */
ul#primary-nav li li li li.over ul, /* gère 4ème niveau */
ul#primary-nav li li li li li.over ul { display: block; } /* gère 5ème niveau */

ul#primary-nav li.menuparent { background: transparent url(arrow.gif) right center no-repeat; }

ul#primary-nav li.menuparent:hover,
ul#primary-nav li.over { background-color: #f9f9f9; } /* couleur du fond de la cellule lorsque de l'on passe dessus avec la souris*/

ul#primary-nav li a:hover { color: #E2144A; } /* couleur des liens lorsque l'on passe dessus avec la souris */

</style>

<
script type="text/javascript">

function 
IEHoverPseudo() {

    var 
navItems document.getElementById("primary-nav").getElementsByTagName("li");
    
    for (var 
i=0i<navItems.lengthi++) {
        if(
navItems[i].className == "menuparent") {
            
navItems[i].onmouseover=function() { this.className += " over"; }
            
navItems[i].onmouseout=function() { this.className "menuparent"; }
        }
    }

}
window.onload IEHoverPseudo;

</script>

<{counter start=0 print=false}>
<table cellspacing="0" cellpadding="0">
<tr>
<td>
<ul id="primary-nav">
<{foreach item=imenu from=$block.contents}>

<{if $imenu.submenu == 0}>
<!-- Main link -->
        <{if $count > 1}>
            </ul>
        <{/if}>
<{counter assign=count print=false}>
<{if $count <= 1}>
    <{if $imenu.linkurl}>
        <li><a href="<{$imenu.linkurl}>"><{$imenu.title}></a></li>
    <{else}>
        <li class="menuparent"><a href="<{$imenu.linkurl}>"><{$imenu.title}></a>
    <{/if}>
<{else}>
    <{if $imenu.linkurl}>
        <li><a href="<{$imenu.linkurl}>"><{$imenu.title}></a></li>
    <{else}>
        <li class="menuparent"><a href="<{$imenu.linkurl}>"><{$imenu.title}></a>
    <{/if}>
<{/if}>

<ul>
<{elseif $imenu.submenu == 1 OR $imenu.submenu == 2}>

<!-- Sublinks -->
    <li><a href="<{$imenu.linkurl}>"><{$imenu.title}></a></li>
<{counter assign=count print=false}>
<{elseif $imenu.submenu == 3}>

<!-- Note -->
    <div class="box2"><{$imenu.title}></div>
<{counter assign=count print=false}>
<{elseif $imenu.submenu == 4}>

        <{if $count > 1}>
            </div>
        <{counter start=0 print=false}>
        <{/if}>
<!-- Categorie -->
    <div class="lnk1">
    <{if $imenu.linkurl}>
        <a class="menuCat" href="<{$imenu.linkurl}>"><{$imenu.title}></a>
    <{else}>
        <p /><b><{$imenu.title}></b>
    <{/if}>
    </div>
<{/if}>


<{/foreach}>
</ul>
</td>
</tr>
</table>


je laisse volontairement le css pour le moment, je le séparerai une fois tout finalisé.

je dois donc attaquer la partie 'catégorie' et 'note', afin de placer les ul et li au bon endroit.
en tout cas, ton aide sera précieuse !

j'ai utilisé du code de 'alisapart' pour ce menu, je mettrai les crédits lorsque tout marchera.
et pour finir, aucun problème, dès qu'on aura tout testé avec succès, tu pourras bien entendu, utiliser ce menu pour ton module !

Posté le : 17/01/2006 12:47
Partager Twitter Partagez cette article sur GG+
Re: [TEST] multiMenu 1.8 beta, quand multiMenu devient dynamique
Admin Frxoops
Inscrit: 04/02/2003 07:37
De Belgique
Messages: 3372
J'ai repensé la gestion des ul et autres li. Je te livre le code ici.

<{assign var=ul_main value=0}><{assign var=ul_sec  value=0}>
<{foreach 
item=imenu from=$block.contents}>
<{if 
$imenu.submenu == 0}>
<{if 
$ul_sec == 1}></ul><{assign var=ul_sec value=0}><{/if}>
<{if 
$ul_main == 0}><ul><{assign var=ul_main value=1}><{/if}>
    <
li><{$imenu.link}><{$imenu.image}><{$imenu.title}><{$imenu.a}></li>

<{elseif 
$imenu.submenu == OR $imenu.submenu == 2}>
<{if 
$ul_sec == 0}><ul><{assign var=ul_sec value=1}><{/if}>
        
    <
li><{$imenu.link}><{$imenu.image}><{$imenu.title}><{$imenu.a}></li>

<{elseif 
$imenu.submenu == 3}>
<{if 
$ul_main == 1}></ul><{assign var=ul_main value=0}><{/if}>
<{if 
$ul_sec == 1}></ul><{assign var=ul_sec  value=0}><{/if}>
    <{
$imenu.link}><{$imenu.image}><{$imenu.title}><{$imenu.a}></p>

<{elseif 
$imenu.submenu == 4}>
<{if 
$ul_main == 1}></ul><{assign var=ul_main value=0}><{/if}>
<{if 
$ul_sec == 1}></ul><{assign var=ul_sec  value=0}><{/if}>
    <{
$imenu.link}><{$imenu.image}><h3><{$imenu.title}></h3><{$imenu.a}>
<{/if}>
<{/foreach}>
    <{if 
$ul_main == 1}></ul><{/if}>
    <{if 
$ul_sec == 1}></ul><{/if}>


A toi de le compléter avec les infos relatives à ton template de menu...

L'intérêt de cette version est que j'exclue l'utilisation du compteur, qui peut à ce moment là être réutilisé pour l'incrémentation des menus. Sinon, j'ai un autre code pour créer un compteur "à la main".


Posté le : 17/01/2006 17:27
Partager Twitter Partagez cette article sur GG+
Re: [TEST] multiMenu 1.8 beta, quand multiMenu devient dynamique
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
ok je teste ça dès que possible ! :o)

juste pour info, un menu type se compose de cette façon avec ce menu :

<ul id="primary-nav">
  <
li><a href="#">Home</a></li>

  <
li class="menuparent"><a href="#">About</a
    <
ul>
      <
li><a href="#">History</a></li>
      <
li><a href="#">Team</a></li>
      <
li><a href="#">Offices</a></li>
    </
ul>
  </
li>
</
ul



Le lien "home" est un simple lien
le lien "about" déroule des liens lorsqu'on passe dessus.
et "history, team, offices" sont les sous-liens

Posté le : 17/01/2006 17:34

Edité par blueteen sur 17/01/2006 17:56:03
Partager Twitter Partagez cette article sur GG+
Re: [TEST] multiMenu 1.8 beta, quand multiMenu devient dynamique
Régulier
Inscrit: 23/06/2004 17:28
Messages: 284
Alors ça... c'est de la balle.

J'osais pas même imaginer que tu nous réalises un vrai menu dynamyque tel celui-ci

Trop fort :-o

Je vais l'user, l'user et l'user

Posté le : 17/01/2006 21:08
Partager Twitter Partagez cette article sur GG+
Re: [TEST] multiMenu 1.8 beta, quand multiMenu devient dynamique
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
je suis en plein test.
je regarde comment différencier les menus avec sous-menus, de ceux qui n'en ont pas.
pour éviter que la flèche indiquant qu'un sous-menu est disponible ne s'affiche, et pour pouvoir fermer correctement mon < li >

pour le moment j'ai ça :

<ul id="primary-nav">

<{
assign var=ul_main value=0}><{assign var=ul_sec value=0}>
<{foreach 
item=imenu from=$block.contents}>
<{if 
$imenu.submenu == 0}>
<{if 
$ul_sec == 1}></ul><{assign var=ul_sec value=0}><{/if}> <!-- dernier sous-menu pour le lien en cours -->
<{if 
$ul_main == 0}><{assign var=ul_main value=1}><{/if}>
    <
li class="menuparent"><{$imenu.link}><{$imenu.image}><{$imenu.title}><{$imenu.a}>



<{elseif 
$imenu.submenu == OR $imenu.submenu == 2}>
<{if 
$ul_sec == 0}><ul><{assign var=ul_sec value=1}><{/if}>
        
    <
li><{$imenu.link}><{$imenu.image}><{$imenu.title}><{$imenu.a}></li>

<{elseif 
$imenu.submenu == 3}>
<{if 
$ul_main == 1}></ul><{assign var=ul_main value=0}><{/if}>
<{if 
$ul_sec == 1}></ul><{assign var=ul_sec  value=0}><{/if}>
    <{
$imenu.link}><{$imenu.image}><{$imenu.title}><{$imenu.a}></p>

<{elseif 
$imenu.submenu == 4}>
<{if 
$ul_main == 1}></ul><{assign var=ul_main value=0}><{/if}>
<{if 
$ul_sec == 1}></ul><{assign var=ul_sec  value=0}><{/if}>
    <{
$imenu.link}><{$imenu.image}><h3><{$imenu.title}></h3><{$imenu.a}>
<{/if}>
<{/foreach}>
    <{if 
$ul_main == 1}></ul><{/if}>
    <{if 
$ul_sec == 1}></ul><{/if}>


le résultat pour le moment est sur http://myxoops.romanais.info
connexion : multimenu/multimenu

houlà, je viens de voir sur sur ie ça donne n'importe quoi :-p

et si on ne définit pas de lien pour un menu contenant des sous-menus, on se retrouve avec une source de page erronée, du type :

<li class="menuparent">Support Xoops


je pense qu'il y aura un test à rajouter sur le contenu du champs 'link'.

edit : j'ai rajouté le test sur le contenu du champs link, ça a déjà meilleure mine dans les navigateurs !


zou je me replonge dans ton code !
mais on est sur la bonne voie avec ton nouveau code, attaqué de cette façon, ça me semble plus jouable !

Posté le : 18/01/2006 09:14

Edité par blueteen sur 18/01/2006 09:48:55
Partager Twitter Partagez cette article sur GG+
Re: [TEST] multiMenu 1.8 beta, quand multiMenu devient dynamique
Régulier
Inscrit: 23/06/2004 17:28
Messages: 284
Bon... je viens de tester et ça marche du tonnerre

Je n'ai rien modifié, c'est beta2 de Solo installée telle quelle.

Visible en action en tant que simple visiteur ici : http://www.aquasquale.com/V3/

Vraiment du beau boulot cette nouevlle version

Posté le : 18/01/2006 09:34
Partager Twitter Partagez cette article sur GG+
Re: [TEST] multiMenu 1.8 beta, quand multiMenu devient dynamique
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
ah mais ça marche nickel comme ça !
testé sur firefox 1.5 et IE6

Posté le : 18/01/2006 09:36
Partager Twitter Partagez cette article sur GG+
Re: [TEST] multiMenu 1.8 beta, quand multiMenu devient dynamique
Régulier
Inscrit: 23/06/2004 17:28
Messages: 284
vivi, suis sous firefox1.7.12 et ça tourne également

Posté le : 18/01/2006 09:48
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant
« 1 2 3 (4) 5 6 7 ... 45 »




Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

58 Personne(s) en ligne (41 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 58 | Plus ...