Commentaires sur : Symfony : gestion des collections dans les formulaires https://www.remipoignon.fr/symfony-gestion-des-collections-dans-les-formulaires/ Blog d'un passionné de technologies numériques Mon, 09 Dec 2024 14:41:50 +0000 hourly 1 https://wordpress.org/?v=7.0 Par : Rémi https://www.remipoignon.fr/symfony-gestion-des-collections-dans-les-formulaires/#comment-3524 Tue, 27 Apr 2021 13:38:16 +0000 https://www.remipoignon.fr/?p=460#comment-3524 En réponse à pascall.

Salut Pascall,
Je ne pense pas que Symfony 5 soit en cause. La documentation officielle indique toujours la même chose par rapport à cet attribut : https://symfony.com/doc/current/reference/forms/types/collection.html#by-reference
Y a t’il bien l’option allow_add = True ?
N’hésites pas à fournir un lien vers ton code source, ce sera plus simple pour débugger 🙂

]]>
Par : pascall https://www.remipoignon.fr/symfony-gestion-des-collections-dans-les-formulaires/#comment-3346 Thu, 08 Apr 2021 15:52:05 +0000 https://www.remipoignon.fr/?p=460#comment-3346 En réponse à pascall.

petit complément :
Pour que cela fonctionne le addXXX,je dois le faire dans le controller avant d’appeler le createForm, alors que je supposais qu’il se faisait automatiquement … ce n’est pas vraiment clair pour moi

]]>
Par : pascall https://www.remipoignon.fr/symfony-gestion-des-collections-dans-les-formulaires/#comment-3345 Thu, 08 Apr 2021 12:46:19 +0000 https://www.remipoignon.fr/?p=460#comment-3345 Bonjour,
Merci pour ce tuto, mais je rencontre un problème, le addXXX n’est jamais appelé.
Pourtant j’ai bien un CollectionType avec by_reference => false et j’ai mis un die dans la méthode et non, ça ne passe pas. Bien entendu j’ai le addXXX et le removeXXX par contre j’ai une relation manytomany et non onetomany.
Autre différence je suis en SF5 … est ce peut-être ça le problème ?
Auriez-vous une idée ?
Merci pour votre tuto

]]>
Par : Rémi https://www.remipoignon.fr/symfony-gestion-des-collections-dans-les-formulaires/#comment-1307 Tue, 20 Oct 2020 08:35:40 +0000 https://www.remipoignon.fr/?p=460#comment-1307 En réponse à Famas.

L’ordre n’a pas d’importance, on peut faire l’inverse aussi

]]>
Par : Famas https://www.remipoignon.fr/symfony-gestion-des-collections-dans-les-formulaires/#comment-1299 Mon, 19 Oct 2020 21:52:16 +0000 https://www.remipoignon.fr/?p=460#comment-1299 Pour quoi cette ligne $this->diplomes[] = $diplome; est avant cette ligne
$diplome->setUser($this);
Pour quoi pas le contraire, je pense qu’il faut attacher l’utilisateur au diplôme avant de mettre à jour les diplômes

]]>
Par : Rémi https://www.remipoignon.fr/symfony-gestion-des-collections-dans-les-formulaires/#comment-105 Fri, 05 Apr 2019 08:47:22 +0000 https://www.remipoignon.fr/?p=460#comment-105 En réponse à Sany.

Bonjour Sany,
C’est tout à fait possible, je ne sais pas si c’est la meilleur façon de faire mais moi je fais comme ça :
Dans mon form.html.twig :
 

  {% form_theme form ‘user/formTheme.html.twig’ %}

  {{ form_row(form.name) }}
  {{ form_row(form.firstname) }}
  {{ form_row(form.diplomes) }}
  {{ form_rest(form) }}

 

Et je créé un fichier de personnalisation de formulaire : user/formTheme.html.twig :

 

{% block form_widget %}

  {% if form.vars.unique_block_prefix == ‘_user_diplome_entry’ %}
    {{ block(‘collection_diplome’) }}
  {% else %}
    {{ parent() }}
  {% endif %}

{% endblock form_widget %}

 

{% block collection_widget %}

  {% if prototype is defined and form.vars.unique_block_prefix == ‘_user_diplome’ %}
    {% set attr = attr|merge({‘data-prototype’: block(‘collection_diplome’) }) %}
    {{ block(‘form_widget’) }}
  {% else %}
    {{ parent() }}
  {% endif %}

{% endblock collection_widget %}

 

{# C’est ici que je personnalise l’affichage de la collection de diplome #}
{% block collection_diplome %}

  {% if prototype is defined %}
    {{ form_row(prototype.nom) }}
    {{ form_row(prototype.annees) }}
  {% else%}
    {{ form_row(form.children.nom) }}
    {{ form_row(form.children.annees) }}
  {% endif %}

{% endblock collection_diplome %}

]]>