Symfony2 formes masquer le champ avec twig
Nous avons mis en place un formulaire/vue de créer une entité qui travaille, mais nous essayons d'ajouter un second formulaire/affichage de la page (pour mettre à jour la créé des valeurs) avec le champ de l'entité associée caché. Si nous soumettre le formulaire avec le champ caché, le champ est interprété comme étant vide, alors qu'en fait on a juste envie de sauter le besoin de le remplir à la valeur précédente.
{{ form_start(form) }}
{% do form.name.setRendered %}
{{ form_widget(form.quantity) }}
{{ form_widget(form.submit) }}
{{ form_end(form) }}
Si nous soumettre le formulaire, notre relation est en cours de suppression au lieu de conserver la valeur précédente.
Nous avons aussi essayé de désactiver le terrain avec {{ form_widget(form.name, { 'attr': {'disabled': 'disabled'} }) }}
mais ce bien de désactiver le champ, renvoie toujours le même effet.
Dans le controller, on peut voir où la valeur est supprimée lorsque le $form->handleRequest($entity)
fonctionne, mais nous ne pouvons pas trouver un moyen de s'assurer que la relation est maintenue, sans l'afficher dans le champ.
Vous devez vous connecter pour publier un commentaire.
Vieille question, mais pour tous les intéressés, voici une autre façon de résoudre cela. De vérifier la Template Twig Forme de Fonction et de Variable de Référence.
Exemple
J'ai un tableau de formes et souhaite utiliser la Génial Bootstrap Case. Dans twig-je accéder à chaque variable de formulaire et créer des éléments manuellement:
Edit: Le Template Twig Forme de Fonction et de Variable de Référence n'est disponible que pour Symfony 2.7 et plus tard.
Pour le moment, nous nous sommes retrouvés pour la sortie des champs dans un div caché, qui permettent de masquer les entrées sans avoir à utiliser la fonction twig
{% do form.name.setRendered %}
(ce qui provoque la nonrendered champs à null).Le nouveau code ressemble à ceci: