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 :

[Twig] form_rest obligatoire pour génération d'un prototype de données ?


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 62
    Par défaut [Twig] form_rest obligatoire pour génération d'un prototype de données ?
    Bonjour ,

    J'ai un soucis avec un formulaire imbriqué dont l'un des champs est une collection , je suis obligé de mettre un form_rest pour pouvoir afficher le data-prototype dans le code source afin de générer ma collection de formulaire , si je ne met pas form_rest et que j'essaye de faire un FOR ... IN , je n'ai aucune génération de formulaire.

    Merci a ceux qui trouverons des réponses à ce problème car je m'arrache les cheveux depuis 2 jours ...

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 725
    Par défaut
    Bonjour

    pour récupérer uniquement le prototype
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    {{form_widget(form.collection.get('prototype'))}}
    ici, un exemple de form collection avec personalisation du rendu en utilisant des macros
    https://github.com/beberlei/AcmePizz...ndex.html.twig

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 62
    Par défaut
    Merci mais ca ne règle pas mon problème ,

    Je souhaite personnaliser mon template en pouvant intervenir sur chaque champs et les mettre en forme , le problème c'est que comme c'est une collection j'ai l'impression que c'est du tout ou rien , soit on appel le formulaire complet soit on peut pas ...

    Si quelqu'un a une solution je suis preneur.

  4. #4
    Membre émérite
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 725
    Par défaut
    Je souhaite personnaliser mon template en pouvant intervenir sur chaque champs et les mettre en forme
    ici, un exemple de form collection avec personalisation du rendu en utilisant des macros
    https://github.com/beberlei/AcmePizz...ndex.html.twig
    ce lien ne répond pas à ta question ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 62
    Par défaut
    Malheuresement ca ne marche pas , voici un extrait de mon code :

    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
    24
    25
    26
    27
    28
    29
     
    <form method="post" {{form_enctype(extractMainForm)}}>
        <div class="row">
          <div id="codename" class="span2">{{ form_label(extractMainForm.main_code,"Code")}}</div>    
          <div id="codewidget" class="span3">{{ form_widget(extractMainForm.main_code)}}{{ form_errors(extractMainForm.main_code)}}</div>
     
          <div id="libellename" class="span2">{{ form_label(extractMainForm.main_name,"libellé")}}</div>    
          <div id="libellewidget">{{ form_widget(extractMainForm.main_name)}}{{ form_errors(extractMainForm.main_name)}}</div>
     
          <div id="descriptionname" class="span2">{{ form_label(extractMainForm.description,"Description")}}</div>    
          <div id="descriptionwidget" class="span3">{{ form_widget(extractMainForm.description)}}{{ form_errors(extractMainForm.description)}}</div>
     
          <div id="databasename" class="span2">{{ form_label(extractMainForm.database,"Base de données")}}</div>    
          <div id="databasewidget" >{{ form_widget(extractMainForm.database)}}{{ form_errors(extractMainForm.database)}}</div>
        </div>
        <div class="row">
          <div id="SqlName" class="span2">{{ form_label(extractMainForm.main_query,"Requête Sql")}}</div>    
          <div id="SqlWidget" class="span1">{{ form_widget(extractMainForm.main_query)}}{{ form_errors(extractMainForm.main_query)}}</div>
        </div>
          {% include "MaxxingExtractBundle:Extract:param.html.twig" with { extractMainForm : extractMainForm } %}
     
          <script type="text/html">{{ _self.prototype(extractMainForm.extract_params.get('prototype')) }}</script>
          {% macro prototype(test) %}
            {{ form_widget(test.param_name)}}
          {% endmacro %}
     
     
        <input type="submit"/>
      </form>
    Si je comprend bien , on déclare une méthode prototype dans la balise script et le paramètre qui sera passé dans la macro sera celui récupéré par le paramètre de la déclaration.

    Cela me renvoi une erreur sous firebug " TypeError: container.attr("data-prototype") is undefined "

    je suis sous symfony 2.1

  6. #6
    Membre émérite
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 725
    Par défaut
    Cela me renvoi une erreur sous firebug " TypeError: container.attr("data-prototype") is undefined "
    A quoi correspond data-prototype?
    c'est un attribut qui est ajouté dans ton widget lorsque l'on utilise les fonctions twig form_widget, etc...

    Ici tu veux pouvoir personaliser, donc tu ne vas pas utiliser data-prototype comme template (coté client)
    ->ton champ prototype a été rendu dans une balise script[type=text/html], c'est son contenu qui doit être utilisé comme template

    Il y a du code javascript à la fin du fichier, consultes le.

Discussions similaires

  1. Réponses: 3
    Dernier message: 23/08/2009, 19h49
  2. Passage algo - code pour génération d'expressions régulières
    Par deedoo dans le forum Général Python
    Réponses: 6
    Dernier message: 11/08/2005, 14h32
  3. X11 obligatoire pour install console ?
    Par ovh dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 06/11/2003, 16h50

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