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 :

Slot title et view.yml [1.x]


Sujet :

Symfony PHP

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 162
    Par défaut Slot title et view.yml
    Bonjour,

    J'ai un indexSucces qui inclu différents partial suivant un paramètre dans l'url....
    Je voudrai avoir les balises title, meta ... qui changent selon mon partial.

    Je pensais pouvoir faire un truc du genre dans le view.yml :
    indexSucces:
    _monPartial:
    metas:
    title:............

    mais le niveau _monPartial est en trop (je pense) donc le seul moyen trouvé est le suivant :

    Dans mon layout j'inclus un slot title que je modifie dans mon _partial. ce qui marche très bien mais je ne trouve pas cela très propre et je voudrai surtout pouvoir modifier toutes ces balises à un seul endroit (car il risque d'avoir un 20aine de _partial)

    Merci d'avance pour votre aide

  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
    Je ne suis pas sur du pourquoi des 20 partials.

    Tu peux utiliser un même partial dans 20 formulaires sans avoir à le redéclarer pour chaque.

    Si non, en rajoutant une méthode à ton objet form peut-être ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 162
    Par défaut
    Citation Envoyé par mimi68 Voir le message
    Je ne suis pas sur du pourquoi des 20 partials.

    Tu peux utiliser un même partial dans 20 formulaires sans avoir à le redéclarer pour chaque.

    Si non, en rajoutant une méthode à ton objet form peut-être ?
    Merci pour ta réponse

    En fait ce sont des pages "statiques". Je passe en param un produit et j'ai 20 partials car 20 produits. Le contenu à une mise en form/contenu spécifique pour chaque produit.
    De plus il me faut les balises meta, title ... différentes pour chaque produit.

  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


    Trop différent de ce que je fais. Il faudrait peut-être quelques exemples de code pour que j'y voie plus clair.

    Pourquoi ne pas utiliser des forms embeded ?

    Une solution pour ton titre, utilise un composant plutôt qu'un partial, il pourra alors aller rechercher le titre dans une liste...

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 162
    Par défaut
    Citation Envoyé par mimi68 Voir le message


    Trop différent de ce que je fais. Il faudrait peut-être quelques exemples de code pour que j'y voie plus clair.

    Pourquoi ne pas utiliser des forms embeded ?

    Une solution pour ton titre, utilise un composant plutôt qu'un partial, il pourra alors aller rechercher le titre dans une liste...
    En fait je suis parti de ce code la : http://trac.symfony-project.org/wiki...eStaticContent et pour chaque partial il me faut un titre différent.
    Maintenant je débute totalement donc si il existe d'autre solution je suis preneur.
    Je ne comprend pas l'utilisation de forms dans mon cas ?

    Merci d'avance

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par coupolites Voir le message
    le seul moyen trouvé est le suivant :

    Dans mon layout j'inclus un slot title que je modifie dans mon _partial. ce qui marche très bien mais je ne trouve pas cela très propre et je voudrai surtout pouvoir modifier toutes ces balises à un seul endroit (car il risque d'avoir un 20aine de _partial)
    Question propreté, j'ai envie de dire que s'il y a un helper pour ça, c'est pour s'en servir. Se servir de ce helper dans chacun des partials me parait approprié. Pénible peut-être, mais pas si sale.

    Dans ce cas pourquoi ne pas mettre dans le app.yml tous tes titres genre
    all:
    static:
    mon_contenu:
    titre: mon contenu

    Et dans chacun de tes partials, mettre le même bloc de code genre
    slot('title', sfConfig::get('app_static_'.$content.'_title')); // $content proviendrait de $request->getParameter('content');

    Bon peut-être pas exactement de cette façon mais tu vois l'idée ? T'as un compomis entre les deux comme ça. Tu dois mettre ce bout de code dans chacun des partials, mais le jour où tu veux changer les titres tu vas juste aller dans le app.yml

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 162
    Par défaut
    Citation Envoyé par Tirkyth Voir le message
    Question propreté, j'ai envie de dire que s'il y a un helper pour ça, c'est pour s'en servir. Se servir de ce helper dans chacun des partials me parait approprié. Pénible peut-être, mais pas si sale.

    Dans ce cas pourquoi ne pas mettre dans le app.yml tous tes titres genre
    all:
    static:
    mon_contenu:
    titre: mon contenu

    Et dans chacun de tes partials, mettre le même bloc de code genre
    slot('title', sfConfig::get('app_static_'.$content.'_title')); // $content proviendrait de $request->getParameter('content');

    Bon peut-être pas exactement de cette façon mais tu vois l'idée ? T'as un compomis entre les deux comme ça. Tu dois mettre ce bout de code dans chacun des partials, mais le jour où tu veux changer les titres tu vas juste aller dans le app.yml
    Merci pour ta réponse. En effet ce code marche mais je "pourri" un peu mon app.yml. Est il possible d'avoir un fichier de conf genre app.yml mais propre a un module ?
    Sinon tu me comfirmes que définir les titles, metas ... ne peuvent être définis dans le view.yml pour un partial ?

    Encore merci

    ps: Est ce possible de faire le même système que tu m'as évoqué mais au lieu d'aller le chercher dans le app.yml j'irai le chercher dans un fichier php grâce à une fonction perso. La question est surtout où mettre ces fichiers ?

  8. #8
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par coupolites Voir le message
    Merci pour ta réponse. En effet ce code marche mais je "pourri" un peu mon app.yml. Est il possible d'avoir un fichier de conf genre app.yml mais propre a un module ?
    Non. Enfin, il existe un module.yml mais qui ne peut contenir que des paramètres prédéfinis. Tu ne pourras donc pas répondre à ton besoin via ce fichier de conf.
    Citation Envoyé par coupolites Voir le message
    Sinon tu me comfirmes que définir les titles, metas ... ne peuvent être définis dans le view.yml pour un partial ?
    Oui je confirme. Normalement la granularité du paramètrage va uniquement jusqu'aux vues.
    Citation Envoyé par coupolites Voir le message
    Encore merci

    ps: Est ce possible de faire le même système que tu m'as évoqué mais au lieu d'aller le chercher dans le app.yml j'irai le chercher dans un fichier php grâce à une fonction perso. La question est surtout où mettre ces fichiers ?
    Et bien je trouve que c'est une bonne idée. Pourquoi tu ne ferai pas dans le dossier config de ton module un titles.yml.
    Dedans tu mets genre
    mon_partial_1:
    title: test
    mon_partial_2:
    title: test 2

    Et puis dans tes partials tu fais :
    $titles = sfYaml::load(dirname(__FILE__).'/../config/titles.yml');
    slot(title, $titles['mon_partial_x']['title']);

    Ca ne conviendrait pas ?

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 162
    Par défaut
    Citation Envoyé par Tirkyth Voir le message
    Non. Enfin, il existe un module.yml mais qui ne peut contenir que des paramètres prédéfinis. Tu ne pourras donc pas répondre à ton besoin via ce fichier de conf.

    Oui je confirme. Normalement la granularité du paramètrage va uniquement jusqu'aux vues.

    Et bien je trouve que c'est une bonne idée. Pourquoi tu ne ferai pas dans le dossier config de ton module un titles.yml.
    Dedans tu mets genre
    mon_partial_1:
    title: test
    mon_partial_2:
    title: test 2

    Et puis dans tes partials tu fais :
    $titles = sfYaml::load(dirname(__FILE__).'/../config/titles.yml');
    slot(title, $titles['mon_partial_x']['title']);

    Ca ne conviendrait pas ?
    Ca marche NIKEL ! Par contre j'ai inclu le yml dans mon action.class.php je ne sais pas si c'est "propre" ? Sinon y a t il un autre moyen pour ne pas inclure le fichier dans xx templates/partials ?

    Encore merci pour ton aide

  10. #10
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par coupolites Voir le message
    Ca marche NIKEL ! Par contre j'ai inclu le yml dans mon action.class.php je ne sais pas si c'est "propre" ? Sinon y a t il un autre moyen pour ne pas inclure le fichier dans xx templates/partials ?

    Encore merci pour ton aide
    Non tu as parfaitement raison, tu peux le mettre à cet endroit et passer en paramètre du partial directement son titre.
    Comme ça c'est ton action qui charge le yml et qui récupère le titre qui va bien, et ton partial ne fait que de l'affichage, c'est très bien comme ça.

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 162
    Par défaut
    Bon je mets tout ça en résolu.

    Merci à Tirkyth pour la solution

  12. #12
    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
    Je vais être un oiseau de mauvaise augure.

    Juste une question : d'où viens le titre, s'il y a autant de titres, ils doivent bien venir que quelque part ?

    Je veux dire soit d'un enregistrement, soit de ??? autre chose.

    Et ils doivent bien avoir des parties communes ?

    Je suis convaincu la la solution marche à la création de l'application, je redoute un peu les opérations de maintenance le jour ou le format des titres devra être changés... C'est une solution qui me semble très statique, et en contradiction avec les spécifications de dev qui vont vers la v2.0

+ 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. [1.x] view.yml ajouter script js
    Par guiyomh dans le forum Symfony
    Réponses: 4
    Dernier message: 27/10/2010, 15h50
  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. [1.x] Config view.yml, différents layout suivant modules
    Par symff dans le forum Symfony
    Réponses: 3
    Dernier message: 27/05/2010, 14h10
  5. [1.x] view.yml, css&js ?
    Par bricecol dans le forum Symfony
    Réponses: 1
    Dernier message: 18/12/2009, 10h58

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