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 :

Question simple sur les slots, mais qui me bloque ! [1.x]


Sujet :

Symfony PHP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Août 2009
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 40
    Points : 33
    Points
    33
    Par défaut Question simple sur les slots, mais qui me bloque !
    Bonjour à vous tous,
    testant actuellement Symfony, je me risque à un premier projet pour comprendre le fonctionnement du framework, après avoir suivi le tutorial Jobeet.

    Ma question porte sur les slots, je posséde un layout qui doit afficher deux menus :
    - l'un en fonction des autorisation du visiteur
    - l'autre en fonction des actions possible par le module actuel

    j'ai donc pensé à utiliser les slots pour intégrer dynamiquement le contenu de mes menus après traitement.

    Mon layer contient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <ul>
         <?php include_slot('menu_action'); ?>
    </ul>
    Dans mon action, je défini la variable menu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->menu_action = '<li>Action 1</li><li>Action 2</li>';
    Dans ma vue je veux envoyer cette variable dans le slot qui va bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    slot('menu_action', $menu_action);
    Pourquoi diable la commande slot affiche la chaine sans interpréter le code HTML ? au lieu de remplir ma liste, cela m'affiche en texte brut le contenu de la variable $menu_action dans mon layout

    J'imagine que c'est une question "simple" mais je ne trouve pas la réponse malgré mes recherches au sujets de slot.

    Peut être n'ai je pas choisi la "bonne solution" pour mettre en œuvre mon idée, mais je vous serais bien reconnaissant de m'indiquer le concept à appliquer pour arriver à faire cela.

    Merci d'avance !

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Points : 1 177
    Points
    1 177
    Par défaut
    C'est pas super sexy mais ta méthode est correct.

    Jette un oeil a ton fichier settings.yml la variable escaping_strategy doit etre initialisé a false.

    escaping_strategy: false

  3. #3
    Nouveau membre du Club
    Inscrit en
    Août 2009
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 40
    Points : 33
    Points
    33
    Par défaut
    Ecoute, c'est parfait, j'avais au départ oublié de faire un symfony cc (je n'ai pas encore l'habitude) mais cela fonctionne.

    Par contre étant en train de me former, quel méthode plus sexy existe il pour gérer ces menus ?
    Je ne suis pas pressé, donc autant utilisé dés le début les bonnes méthodes de conception

    Si tu peux m'en dire plus, en attendant merci à toi

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Points : 1 177
    Points
    1 177
    Par défaut
    symfony cc, c'est l'oubli classic, je te conseille vivement de developper en mode dev: frontend_dev.php, tu n'auras pas de clear cache a faire

    pour revenir a notre sujet, il vaut mieux éviter du HTML brute dans ton action. De plus il n'y a pas de solution absolu, ca dépend de ce que tu veux faire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <?php slot('menu_action') ?>
    <?php end_slot() ?>
    Si tes menus sont fixes, utilise les partials.
    S'ils changent en fonction de contexte, utilise les components.

    tu peux combiner slot et partial/component.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Août 2009
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 40
    Points : 33
    Points
    33
    Par défaut
    Très bien, merci pour l'information.
    Je vais me pencher sur l'utilisation des components.

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

Discussions similaires

  1. [Débutant] Question simple sur les checkbox
    Par Mil17 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 01/08/2007, 15h05
  2. [MySQL] Question simple sur les tableaux pour un initié
    Par bom8407@hotmail.com dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 01/03/2007, 11h22
  3. Réponses: 4
    Dernier message: 16/11/2006, 02h10
  4. question simple sur les select dynamiques
    Par grinder59 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 24/01/2006, 15h53
  5. Question simple sur les threads :)
    Par momox dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/06/2003, 04h13

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