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 :

personnaliser le rendu de {{ form_widget(edit_form) }}


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2003
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 160
    Par défaut personnaliser le rendu de {{ form_widget(edit_form) }}
    Bonjour,
    Par defaut, quand on genere les formulaires par defaut avec symfony,
    nous avons ce code au niveau des formulaires d'edition
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      {{ form_widget(edit_form) }}
    ce code génère un formulaire où les les labels sont directement suivi par les elements du formulaire.
    Que faut-il faire pour que les elements soient affichés dans un tableau?
    dois-je le faire manuellement, où y'a t-il une facon plus intelligente de le faire?
    Merci d'avance pour votre aide
    Merci.

  2. #2
    Membre éclairé

    Inscrit en
    Novembre 2008
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 425
    Par défaut
    Voici quelques éléments concernant la personnalisation des formulaires

    1 Paramétrer le layout par défaut
    Par défaut le layout utilisé par twig est une div normale
    Pour utiliser un tableau, il suffit de le préciser dans le fichier de configuration

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    # /app/config/config.yml
     
    twig:
        form:
            resources: ['form_table_layout.html.twig']
    2 Personnaliser l'aspect d'un formulaire
    On peut modifier le rendu d'un formulaire en définissant un template pour les différents éléments.

    Une ligne :
    voir /vendor/symfony/symfony/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    {# src/Acme/LayoutBundle/Resources/views/Form/fields.html.twig #}
     
    {% block form_row %}
    {% spaceless %}
     <div class="ligne">
             <label class="w150px">{{ form_label(form) }}</label><span class="zone_champ_saisie" />
                     <!-- <input  type="text" class="champ_saisie"  maxlength="30" size="30"  /></span>-->
                     {{ form_errors(form) }}
                     {{ form_widget(form) }}
     </div>
     
    {% endspaceless %}
    {% endblock form_row %}
    Pour l'utiliser dans un template particulier
    il suffit ensuite de la déclarer dans le twig qui l'utilise
    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
     
    {# /src/Acme/BugsBunnySBundle/Resources/views/Prestations/ajouter.html.twig #}
     
    {% extends "::base.html.twig" %}
    {% block navigation %}
        {{ knp_menu_render('mainMenu') }}
    {% endblock %}
    {% form_theme form with 'AcmeLayoutBundle:Form:fields.html.twig' %} <!-- C'est ici -->
    {% block coeur %}
     
                <h1>Ajouter une prestation</h1>
                <p class="zone-info"> </p>
     
                <form method="post" {{ form_enctype(form) }}>
                        {{ form_widget(form) }}
                        <input type="submit" />
                </form>
     
    {% endblock %}
    Ou dans toute l'application
    Il faut le paramétrer dans le config.yml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    # /app/config/config.yml
     
    twig:
        form:
            resources: ['AcmeLayoutBundle:Form:fields.html.twig']

  3. #3
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 875
    Par défaut
    Que faut-il faire pour que les elements soient affichés dans un tableau?
    J'en profite juste pour dire que le design par tableau, c'est une très mauvaise pratique. C'est à cause de ça qu'il y a la famine dans le monde.

  4. #4
    Membre confirmé
    Inscrit en
    Octobre 2003
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 160
    Par défaut
    Citation Envoyé par gototog Voir le message
    J'en profite juste pour dire que le design par tableau, c'est une très mauvaise pratique. C'est à cause de ça qu'il y a la famine dans le monde.
    Merci pour la reponse.... c'est ce que je cherchait.
    par rapport au commentaire, j'avoue que je n'ai pas de formation coté IHM, donc, je me concentre plutot sur la couche métié et ORM.
    Un bon document à ce sujet serait le bienvenu.

  5. #5
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2007
    Messages
    643
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2007
    Messages : 643
    Par défaut
    HTML5 / CSS3 seront donc tes amis pour maitriser la couche IHM.
    Un bon document ? pas vraiment il s'agit des technologies informatique les plus courantes, les plus employés et en plus en rapport avec le net donc sur internet tu trouvera ton bonheur assurement.

    regarde tu coté de la mise en place de GRID sa risque de te plaire si tu travaillait avec les tableaux pour designer...

Discussions similaires

  1. Personnaliser le rendu d'une erreur
    Par theflavasavaa dans le forum Spring
    Réponses: 0
    Dernier message: 07/05/2015, 17h53
  2. [SP-2007] Personnaliser le rendu d'un élément d'une liste SharePoint SP-2007 64bits
    Par aniel111 dans le forum SharePoint
    Réponses: 2
    Dernier message: 29/09/2010, 18h44
  3. Problème avec le rendu de sphère
    Par Francky033 dans le forum DirectX
    Réponses: 10
    Dernier message: 29/08/2003, 22h00
  4. [VB6] [UserControl] Évènements personnalisés
    Par Frankywinky dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 27/05/2003, 17h56
  5. Un objet rendu apparaît derrière un autre objet
    Par jamal24 dans le forum OpenGL
    Réponses: 2
    Dernier message: 01/05/2003, 20h47

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