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 :

Config view.yml, différents layout suivant modules [1.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 89
    Par défaut Config view.yml, différents layout suivant modules
    Bonjour à tous.

    Me voilà avec une petite question sur la configuration du fichier view.yml
    J'ai différents layout suivant mes modules.
    J'aimerais alors configurer mon fichier.

    Voilà tout d'abord mon fichier :
    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
    # You can find more information about this file on the symfony website:
    # http://www.symfony-project.org/reference/1_4/en/13-View
     
    default:
      http_metas:
        content-type: text/html
     
      metas:
        #title:        symfony project
        #description:  symfony project
        #keywords:     symfony, project
        #language:     en
        #robots:       index, follow
     
      stylesheets:    [main.css, style.css-dock.css, jquery.datepick.css]
     
      javascripts:    [jquery-1.4.2.js, interface.js, jquery.css-dock.js, jquery.datepick.js, jquery.datepick-fr.js]
     
      has_layout:     true
      layout:         layout_accueil
     
    indexSuccess:
      layout:	false_form
    Voilà, ça ça marche très bien mais ce n'est pas ce que je veux.

    J'ai deux modules pour le moment, un module accueil, et un module form_speciaux

    J'aimerais que mon module accueil (pour indexSuccess, showSuccess, etc...) soit mis en page avec le layout "layout_accueil"

    Et j'aimerais que mon module form_speciaux (pour toutes les vues) soit mis en page avec le layout "layout_form".

    Mais je ne sais pas comment faire mon fichier, tel qu'il est là, ça me change toutes mes vues indexSuccess avec le layout "layout_form" alors que je veux que ça ne change que le module form_speciaux.

    Pouvez vuos m'aider svp ?

    J'ai essayer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    form_speciaux:
      indexSuccess:
        layout:	false_form
    Mais ce n'est pas pris en compte...

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Si je peux résumer.

    Tu as deux layout :
    • Un pour la page d'accueil et uniquement cette page
    • Un pour le reste du site



    Si ton problème est bien celui là, la solution est simple. Tu ne t'occupe que du reste du site dans les fichiers de configuration.

    Dans le template de la page d'accueil tu as deux solutions :
    • Tu fais la page entière avec le layout et tous ce qu'il faut (doctype, balise html...) et tu désactives l'utilisation du layout.
      • dans le template : <?php decorate_with(false) ?>
      • dans le contrôleur : $this->setLayout(false)
    • Tu veut utiliser un layout pour cette page au cas où une deuxième en aurait un jour besoins (c'est ainsi que je procèderais), tu crées ton layout tel que tu l'expliques dans ton message, tu crées ton module, action, template et tu spécifie l'utilisation du layout spécial :
      • dans le template : <?php decorate_with('layout_accueil') ?>
      • dans le contrôleur $this->setLayout('layout_accueil')

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 89
    Par défaut
    Merci mimi68 ! C'était bien ce qu'il me fallait.

    Ca marche très bien,

    J'ai pris la 2ème solution car c'est vrai, on ne sait jamais, je devrais peut-être m'en resservir !

    Merci à toi

  4. #4
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Et le pied sera dans la version Symfony 2 qui intégrera, enfin, un moteur de template permettant notamment d'intégrer plusieurs niveau de layout, un général avec les entêtes qui inclu un avec le menu non connecté ou un autre avec le menu connecté...

    Une révolution à venir dans nos template encore quelques mois d'attente.

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

Discussions similaires

  1. [1.x] view.yml et 2 layouts
    Par duke666 dans le forum Symfony
    Réponses: 2
    Dernier message: 30/05/2012, 19h30
  2. Réponses: 2
    Dernier message: 29/10/2010, 15h17
  3. [1.x] Configuration view.yml différents selon action..
    Par nims dans le forum Symfony
    Réponses: 8
    Dernier message: 16/06/2010, 11h40
  4. Réponses: 1
    Dernier message: 05/01/2008, 19h15
  5. Réponses: 5
    Dernier message: 11/05/2006, 11h46

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