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 :

Template Twig personnalisé [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 148
    Points : 73
    Points
    73
    Par défaut Template Twig personnalisé
    Bonjour,

    Je tente de traduire un template pour un formulaire qui fonctionne, c'est à dire valide et persiste le contenu dans ma BD. Cependant cela ne fonctionne que lorsque je créé un template de base:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form action="{{ path('url') }}" method="post" {{ form_enctype(form) }}>
        {{ form_widget(form) }}
     
        <input type="submit" />
    </form>
    En revanche lorsque je personnalise avec des div, span, class etc...Plus rien ne fonctionne, le pire c'est que je n'ai plus de message d'erreur de la part de Symfony2. Quelqu'un peux me guider vers un bon process pour traduire un template HTML en TWIG ? Merci pour ceux qui peuvent m'aider.

  2. #2
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2004
    Messages
    318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2004
    Messages : 318
    Points : 362
    Points
    362
    Par défaut
    Salut.

    Si tu utilises la sécurité CSRF sur tes formulaires, il ne faut pas oublier de rajouter dans tes formulaires :Pour ajouter le code dans un input caché.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 148
    Points : 73
    Points
    73
    Par défaut
    Bonjour,

    Merci de ta réponse, je connais cette ligne de code, malheureusement cela ne change rien au bon fonctionnement de mon formulaire. Sur FireBug, celui-ci m'indique qu'il détecte bien un "POST" avec un code HTTP 200 OK, mais rien ne persiste dans ma BD. Pour faire plus simple mon formulaire personnalisé ne fonctionne pas alors qu'avec ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form action="{{ path('url') }}" method="post" {{ form_enctype(form) }}>
        {{ form_widget(form) }}
     
        <input type="submit" />
    </form>
    Ou encore un rendu de chaque champ à la main à coup de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {{ form_widget(form.test) }}
    ça fonctionne très bien. En revanche avec un mix HTML ça bug et le pire comme toujours, c'est aucun message d'erreur de la part de Symfony2, comme-ci tout allais bien ...

    Et voici mon code pour ceux qui s'y colle:

    Controller = http://pastebin.com/84HZpuc4
    Vue = http://pastebin.com/6MJLmc1i
    Entity = http://pastebin.com/6FnSehQQ

  4. #4
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2004
    Messages
    318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2004
    Messages : 318
    Points : 362
    Points
    362
    Par défaut
    Avec Firebug tu peux voir ce qui est envoyé en POST, donc normalement tout les champs de ton formulaire, est-ce le cas ?

    Sinon question bête, mais est-ce que t'as bien une action qui enregistre ces données ?

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 148
    Points : 73
    Points
    73
    Par défaut
    Salut Gubrush113,

    Yes tu peux voir dans mon code, il y'a bien une action et Firebug m'indique une méthode "POST" avec code HTTP 200(OK) et rien ne persiste dans ma BD.

  6. #6
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2004
    Messages
    318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2004
    Messages : 318
    Points : 362
    Points
    362
    Par défaut
    D'accord mais est-ce que dans ta requête POST, tu as bien tout tes champs qui sont envoyés ?
    Faut d'abord t'assurer que toutes les informations sont bien envoyées à ton controlleur avant de l'accuser

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 148
    Points : 73
    Points
    73
    Par défaut
    Je viens de retenter avec Firebug et j'envois bien tous mes champs dans mon POST. Parce-que cela devrait échouer si j'avais au moins un champ de non envoyé ?

  8. #8
    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,
    Si tu redéfinis les attributs name dans tes formulaires il y a peu de chance que ton formulaire soit validé

    si tu écris
    {{form_widget(form.access)}}
    cela génére le html suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="checkbox" name="form[access]" id="form_access" checked="checked" />
    hors tu écris
    <input type="radio" id="access_all" name="access" value="all" checked="checked" />
    d'autre part le code html généré par ceci ne sera pas valide au sens W3C
    <label for="name">Je crée la tribu des : </label><!--label pour un input dont l'id est "name"-->
    {{form_widget(form.name) }}<!--générer un input dont l'id est "form_name"-->
    <span id="error_name" class="error aligned"></span>
    si tu as besoin d'ajouter des attributs html utilise plutot ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     {{form_widget(form.name, {'attr':{'class':'maClasseCSSPersonlisé'} ) }}
    ou bien utilise le parent comme selecteur css
    <div class="name_container">
    {{form_label(form.name}}
    {{form_widget(form.name}}
    {{form_errors(form.name)}}
    </div>
    //en css
    .name_container label{/**/}
    .name_container input{/**/}
    mais là tu écris beaucoup de code alors que le framework de formulaire est justement fait pour se simplifier la vie et générer un code valide

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 148
    Points : 73
    Points
    73
    Par défaut
    Merci pour ta réponse,

    J'avais aussi des doutes sur ce mix HTML + Twig, je vais tenter de traduire tout ça en Twig et voir si ça fonctionne ...

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

Discussions similaires

  1. [2.x] résultat d'une fonction du controlleur dans un template twig
    Par yanning dans le forum Symfony
    Réponses: 4
    Dernier message: 12/08/2014, 16h12
  2. [2.x] Problème entre les templates Twig, fichiers .css et .js
    Par lofomboo dans le forum Symfony
    Réponses: 5
    Dernier message: 30/05/2013, 15h41
  3. [2.x] Mail avec template twig non trouvé
    Par KLeMiX dans le forum Symfony
    Réponses: 1
    Dernier message: 16/04/2013, 01h12
  4. Réponses: 2
    Dernier message: 25/02/2013, 10h41

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