This repository has been archived by the owner on Feb 13, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Builder.php
executable file
·51 lines (34 loc) · 2.86 KB
/
Builder.php
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
<?php
namespace Waldo\DemoMenuBundle\Menu;
use Symfony\Component\DependencyInjection\ContainerAware;
use Knp\Menu\FactoryInterface;
class Builder extends ContainerAware
{
public function menuPrincipal(FactoryInterface $factory, array $options)
{
$menu = $factory->createItem('Accueil', array('route' => '_welcome'));
$menu->addChild('Utilisateurs', array('route' => '_utilisateur_list'));
$menu['Utilisateurs']->addChild('Actif', array('route' => '_utilisateur_actif_list'));
$menu['Utilisateurs']->addChild('Ajouter', array('route' => '_utilisateur_ajouter'))
->setDisplay(false); // N'affiche pas l'entrée dans l'arborescence du menu
$menu['Utilisateurs']->addChild('Éditer', array('route' => '_utilisateur_editer'))
->setDisplay(false); // N'affiche pas l'entrée dans l'arborescence du menu
$menu->addChild('Articles', array('route' => '_article_list'));
$menu['Articles']->addChild('Les loutres à la plage', array('route' => '_article_blog', 'routeParameters' => array('idArticle' => 'loutre-plage')));
$menu['Articles']->addChild('Les loutres à la montagne', array('route' => '_article_blog', 'routeParameters' => array('idArticle' => 'loutre-montagne')));
$menu['Articles']->addChild('Les loutres en tournée dans les bars', array('route' => '_article_blog', 'routeParameters' => array('idArticle' => 'loutre-a-bierre')));
$menu['Articles']->addChild('Commentaires', array('route' => '_article_commentaires'))
->setDisplay(false); // N'affiche pas l'entrée dans l'arborescence du menu
// Création d'une arborescence de menu
$menu->addChild('Niveau 0', array('route' => '_article_blog', 'routeParameters' => array('idArticle' => 'niveau-0')))
->addChild('Niveau 1', array('route' => '_article_blog', 'routeParameters' => array('idArticle' => 'niveau-1')))
->addChild('Niveau 2', array('route' => '_article_blog', 'routeParameters' => array('idArticle' => 'niveau-2')))
->addChild('Niveau 3', array('route' => '_article_blog', 'routeParameters' => array('idArticle' => 'niveau-3')))
->addChild('Niveau 4', array('route' => '_article_blog', 'routeParameters' => array('idArticle' => 'niveau-4')))
->addChild('Niveau 5', array('route' => '_article_blog', 'routeParameters' => array('idArticle' => 'niveau-5')));
// Ajout de deux sous menu à un sous menu
$menu['Niveau 0']['Niveau 1']['Niveau 2']->addChild('Niveau 3.1', array('route' => '_article_blog', 'routeParameters' => array('idArticle' => 'niveau-3-1')));
$menu['Niveau 0']['Niveau 1']['Niveau 2']->addChild('Niveau 3.2', array('route' => '_article_blog', 'routeParameters' => array('idArticle' => 'niveau-3-2')));
return $menu;
}
}