Menu et sous-menu déroulant
Bonjour à tous,
J'aimerais pouvoir afficher un menu, avec un sous menu déroulant.
J'ai préparé une requête, que je sais fonctionnelle:
Code:
1 2 3 4 5
| SELECT a.*, GROUP_CONCAT(b.id,',',b.name,',', b.slug SEPARATOR '|') as Subpage
FROM posts as a
LEFT JOIN posts as b ON a.id = b.post_id
WHERE a.TYPE = 'page' AND a.post_id is NULL
GROUP BY a.id; |
Dans un tuto en POO/MVC, voici comment on affiche la requête pour un menu/sous-menu:
Code:
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
| <ul class="nav navbar-nav">
<?php $pagesMenu = $this->request('Pages','getMenu'); ?>
<?php foreach($pagesMenu as $p): ?>
<?php if (!empty($p->Subpage)): ?> //on vérifie si subpage est différent de vide
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><?php echo $p->name; ?><b class="caret"></b></a>
<ul class="dropdown-menu">
<?php
$subpages = explode('|',$p->Subpage); // on explode sur le pipe pour récuperer les ensembles de chaines
foreach ($subpages as $subpage){ // on boucle sur le array de l'explode
$sub = explode(',',$subpage); // on explode sur la virgule pour récupérer les éléments de la chaines
?>
<li><a href="<?php echo Router::url('pages/view/id:'.$sub[0].'/slug:'.$sub[2]); ?>" title="<?php echo $sub[1] ?>"><?php echo $sub[1]; ?></a></li>
<?php
}
?>
</ul>
</li>
<?php else: ?> // si subpage est vide, on construit le menu normalement
<li>
<a href="<?php echo Router::url('pages/view/id:'.$p->id.'/slug:'.$p->slug); ?>" title="<?php echo $p->name; ?>"><?php echo $p->name; ?></a>
</li>
<?php endif ?>
<?php endforeach; ?>
</ul> |
J'aimerais partir sur le même principe pour afficher mon menu et le sous-menu correspondant, mais je n'arrive pas à adapter ce code, moi qui ne suis pas en POO ni en MVC
Si quelqu'un pouvait m'aider...
D'avance merci!