IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Menu representant mon hierarchie [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2013
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2013
    Messages : 739
    Points : 1 022
    Points
    1 022
    Par défaut Menu representant mon hierarchie
    Bonjour ,
    j 'essaie d'ajouter a moon site quleque chose comme
    Forum > PHP > Biblio et Frameworks > Symfony 2 dans notre forum .
    J 'ai alors
    Ajouter une action a mon controlleur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        public function routeAction(){
            $request = $this->container->get('request');
            $routeName = $request->get('_route');
         //   var_dump($routeName);die();
                    return $this->render('MyAppEspritBundle:Default:aa.html.twig', array(
     
                    'routeName'=>$routeName
            ));
        }
    Jai testé dans la vue aa.html la variable routeName et ça marche !!
    j 'ai voulu ensuite mettre cette action dans tous mes vues
    en ajoutant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {{ render(controller('MyAppEspritBundle:Default:route')) }}
    au debut de chaque vue .
    lorsque je mets {{dump(routeName)}} , il me retourne NULL


    Merci d'avance .

  2. #2
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 725
    Points : 1 050
    Points
    1 050
    Par défaut
    Bonjour,

    Dans un sous-controller (lorsque l'on appel un render donc), c'est une sous-requete qui est accessible.
    http://symfony.com/doc/current/compo...l#sub-requests

    au lieu de faire appel au service "request" (qui à terme sera déprécié) utilise le service "requestStack"

    http://symfony.com/blog/new-in-symfo...-request-stack
    http://api.symfony.com/2.7/Symfony/C...uestStack.html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $request = $this->container->get('request_stack')->getMasterRequest();

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2013
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2013
    Messages : 739
    Points : 1 022
    Points
    1 022
    Par défaut
    merci arnooo999 ,
    malheureusement je peux decouvrir " The Request Stack " sans l'utiliser dans mon cas .
    Je suis sous Symfony2.36

  4. #4
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 725
    Points : 1 050
    Points
    1 050
    Par défaut
    Ce doit être possible de passer des paramètres à ton sous controller
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    {{ render(controller('MyAppEspritBundle:Default:route',{'masterRequest':app.request})) }}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public function routeAction(Request $masterRequest){
    //...
    }

    Mais finalement as tu besoin d'un sous-controller?
    L'objet request est disponible dans twig.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    {% include 'MyAppEspritBundle:Default:aa.html.twig'  with { 'routeName':app.request.get('_route') }%}

  5. #5
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2013
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2013
    Messages : 739
    Points : 1 022
    Points
    1 022
    Par défaut
    Merci beaucoup .
    Action :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
         public function routeAction(){
            $request = $this->container->get('request');
            $routeName = $request->get('_route');
         //   var_dump($routeName);die();
                    return $this->render('MyAppEspritBundle:Default:sousmenu.html.twig', array(
     
                    'routeName'=>$routeName
            ));
        }
    Vue sousmenu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <div class="Forside___Debat___Politik___Samfund___Indenrigs">
        <B>Forside >  
     
                {% if   "sujetrecent" in  routeName %} Seneste debatter {%endif%} 
                {% if   "homepage" in  routeName %} Homepage {%endif%} 
                {% if   "style_add" in  routeName %} Ajout de Style {%endif%}
                {%if 'voir' in  routeName%}
                    <a href="{{ path('my_app_forum_sujet_sujetrecent' ) }}" >
                     <u>Debats</u></a> > 
                      {% for tag in tag %}{% if loop.index == 1 %} {{tag.title}} {%endif%}{%endfor%}</a>
                 {%endif%}
     
        </B>
    </div>
    dans chaque vue :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {% include 'MyAppEspritBundle:Default:sousmenu.html.twig'  with { 'routeName':app.request.get('_route') }%}
    merci encore une fois , c'est resolu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Insérer sous menu déroulant à mon menu
    Par subakuno dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 03/02/2015, 20h53
  2. Bootstrap : Sélection impossible sous-menu sur mon Android
    Par EE dans le forum Mise en page CSS
    Réponses: 0
    Dernier message: 07/11/2014, 23h31
  3. [CSS 2] Mise en forme du menu de mon projet
    Par lemirandais dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 29/04/2014, 22h37
  4. SF menu sur mon site
    Par okoweb dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 27/06/2013, 12h39
  5. Un menu sur mon blog
    Par NiamorH dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 06/07/2007, 17h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo