Bonjour
est t'il possible de créer un menu avec des sous menus dans le module menu avec mkframework
Accueil Services Consultations
Services 1
Services 2
Merci
Bonjour
est t'il possible de créer un menu avec des sous menus dans le module menu avec mkframework
Accueil Services Consultations
Services 1
Services 2
Merci
Vous pouvez modifier le module menu généré, mais dans le builder, vous ne pourrez pas génerer un module avec sous menu en quelques clics![]()
Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
Mes cours/tutoriaux
J'ai généré la class menu suivante
Class module_menu extends abstract_moduleembedded {
public function _index() {
$tLink=array (
'Accueil' => 'default::index',
'Consultation' => 'T_RALS::list',
);
$oView=new _view('menu::index');
$oView->tLink=$tLink;
return $oView;
}
}
Comment je fais pour rajouter un sous menu avec un lien
Merci
Pouvez vous écrire le menu cible
Liibelle 1 (lien)
- sous menu 1 (lien )
Liibelle 2 (lien)
- sous menu 2 (lien )
- sous menu 2 (lien )
note: vous voulez juste une indentation menu/sous menu ou un lien entre papa et fiston ?
Expemple
informatique (lien)
- PC (lien)
- tablettes (lien)
avec un lien entre papa/fiston, losqu'on clique sur PC, informatique ET PC sont selectionné, sinon ils sont générés de manière independantes
Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
Mes cours/tutoriaux
Bonjour,
Voila ce que je veux une sorte de dropdown
Libelle 1
- Sous menu 1 (lien)
- Sous menu 2 (lien)
Libelle 2 (lien)
Libelle 3
- Sous Menu 1 (lien)
- Sous menu 2 (lien)
En cliquant sur libelle 1, le sous menu se déroule pour me proposer les liens des sous menu. En css je sais faire mais en utilisant le classe créée avec MKframework, je vois pas comment faire.
En répondant à ta question en cliquant sur Informatique le menu se déroule, puis je clique sur PC pour avoir ma nouvelle page, liste des pc par exemple.
Merci de ta réponse
Coté module/menu/main.php
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 <?php Class module_menu extends abstract_moduleembedded{ public function _index(){ $tLink=array( 'Acueil' => 'default::index', 'Informatique' => array( 'PC' => 'category::pc', 'Tablettes' => 'category::tablettes', ), 'Multimedia' => array( 'Hi fi' => 'category::hifi', 'TV' => 'category::tv' ), ); $oView=new _view('menu::index'); $oView->tLink=$tLink; return $oView; } }
ET la vue module/menu/view/index.php
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59 <style> .main .menu .soustitre{ } .main .menu .soustitre li{ margin-bottom:2px; } .main .menu .title{ background:#888; } .soustitre{ display:none; } </style> <script> function openMenu(id){ var a=getById('cat'+id); if(a){ if(a.style.display=='none'){ a.style.display='block'; }else{ a.style.display='none'; } } } </script> <ul> <?php $i=0;?> <?php foreach($this->tLink as $sLibelle => $uLink): ?> <?php if(is_array($uLink)):?> <li class="title"><a href="#" onclick="openMenu(<?php echo $i?>);return false"><?php echo $sLibelle?> <ul class="soustitre" style="display:none" id="cat<?php echo $i?>"> <?php foreach($uLink as $sLibelle2 => $sLink):?> <?php if(_root::getParamNav()==$sLink):?> <li class="selectionne"><a href="<?php echo $this->getLink($sLink) ?>"><?php echo $sLibelle2 ?></a></li> <?php else:?> <li><a href="<?php echo $this->getLink($sLink) ?>"><?php echo $sLibelle2 ?></a></li> <?php endif;?> <?php endforeach;?> </ul> </li> <?php $i++;?> <?php else:?> <?php $sLink=$uLink;?> <?php if(_root::getParamNav()==$sLink):?> <li class="selectionne"><a href="<?php echo $this->getLink($sLink) ?>"><?php echo $sLibelle ?></a></li> <?php else:?> <li><a href="<?php echo $this->getLink($sLink) ?>"><?php echo $sLibelle ?></a></li> <?php endif;?> <?php endif;?> <?php endforeach;?> </ul>
Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
Mes cours/tutoriaux
Grand merci Imikado
Cela fonctionne parfaitement.
Pas de quoi, merci d'utiliser le framework![]()
Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
Mes cours/tutoriaux
Merci pour le boulot cela me fait gagné du temps.
Je contribue en posant la même chose sous BootStrap :
Avec toujours le petit script qui va bien mais sans le style :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 <ul class="nav navbar-nav"> <?php $i=0;?> <?php foreach($this->tLink as $sLibelle => $sLink): ?> <?php if(is_array($sLink)):?> <li class="dropdown"><a href="#" onclick="openMenu(<?php echo $i?>);return false"><?php echo $sLibelle?> <ul class="dropdown-menu" style="display:none" id="cat<?php echo $i?>"> <?php foreach($sLink as $sLibelle2 => $uLink):?> <?php if(_root::getParamNav()==$uLink):?> <li class="active"><a href="<?php echo $this->getLink($uLink) ?>"><?php echo $sLibelle2 ?></a></li> <?php else:?> <li><a href="<?php echo $this->getLink($uLink) ?>"><?php echo $sLibelle2 ?></a></li> <?php endif;?> <?php endforeach;?> </ul> </li> <?php $i++;?> <?php else:?> <?php if(_root::getParamNav()==$sLink):?> <li class="active"><a href="<?php echo $this->getLink($sLink) ?>"><?php echo $sLibelle ?></a></li> <?php else:?> <li><a href="<?php echo $this->getLink($sLink) ?>"><?php echo $sLibelle ?></a></li> <?php endif;?> <?php endif;?> <?php endforeach;?> </ul>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <script> function openMenu(id){ var a=getById('cat'+id); if(a){ if(a.style.display==='none'){ a.style.display='block'; }else{ a.style.display='none'; } } } </script>
La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi !
Albert Einstein
Je complète ce code qui a été évolué depuis cette publication :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 <script> var menuActive=null; function openMenu(id){ if(menuActive){ getById(menuActive).style.display='none'; } var a=getById('cat'+id); if(a){ if(a.style.display==='none'){ a.style.display='block'; menuActive='cat'+id; }else{ a.style.display='none'; } } } </script>
La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi !
Albert Einstein
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager