Symfony Models can be embed some many other variations, which is beneficial to change relevant organizations in a single form. In this post, you’ll be able to do a questionnaire to revise a job group and, best during the same form, you’ll be able to change, perform and take away many Tag objects about you to Activity.
How to Embed some Variations
2nd, let us carry out a type to do the job entity, having fun with an effective CollectionType field of TagType versions. This may help us customize all of the Tag components of a job best in the task mode in itself:
If the member submits the form, brand new filed studies towards the tags job is utilized to create an enthusiastic ArrayCollection out-of Mark objects. The brand new collection is then seriously interested in this new level field of brand new Task and can feel reached via $task->getTags() .
At this point, that it works great, but in order to change current labels. It will not allow us but really to incorporate new labels or delete present ones.
You can embed nested stuff as much levels down as you including. Although not, if you use Xdebug, you can even receive a max mode nesting level of ‘100’ attained, aborting! error. To fix that it, improve the xdebug.max_nesting_height PHP setting, otherwise provide for each and every setting job manually using means_row() in lieu of rendering the entire means at the same time (age.g function_widget(form) ).
Enabling “new” Tags into the “Prototype”
In the past you additional a few tags to the activity in the operator. Today allow the profiles add as much level models because they you want in direct the new internet browser. This involves a little bit of JavaScript password.
But first, you will want to allow the setting range be aware that unlike just one or two, it can found a phone number from tags. Otherwise, you’ll see an excellent “This form shouldn’t have extra fields” error. This is accomplished for the succeed_add solution:
The allow_add option also makes a prototype variable available to you. This “prototype” is a little “template” that contains all the HTML needed to dynamically create any new “tag” forms with JavaScript. To render the prototype, add the following data-prototype attribute to the existing
- in your template:
The shape.labels.vars.model was a form ability that http://datingranking.net/tr/love-ru-inceleme looks and you will seems identical to the person setting_widget(level.*) aspects in your to own cycle. Because of this you could telephone call form_widget() , form_row() or function_label() inside. You could also like to promote only one of their sphere (age.grams. title career):
For those who offer the entire “tags” sub-mode immediately (e.g. mode_row(form.tags) ), the information-model trait is immediately placed into the new with which has div , and you need to to alter the next JavaScript accordingly.
Now add some JavaScript to read this attribute and dynamically add new tag forms when the user clicks the “Add a tag” link. Add a