##Embeber Formularios con EmbedType (Opcion 1) es posible agregar varios campos segun su clase.
###En el form agregar EmbedType:
...
use MWSimple\Bundle\AdminCrudBundle\Form\Type\EmbedType;
...
$builder
->add('tags', EmbedType::class, [
'entry_type' => TagType::class,
'allow_add' => true,
'allow_delete' => true,
'by_reference' => false,
'attr' => [
'class' => 'tags_embed',
'col' => 'col-md-12',
'embed' => 'row',
'embed_row_col' => 'col-md-12',
'embed_row_style' => 'border-bottom: thin solid; margin: 10px 0px;',
],
])
//para mas de un nivel
/*->add('tags_second', EmbedType::class, [
'entry_type' => TagType::class,
'allow_add' => true,
'allow_delete' => true,
'by_reference' => false,
'prototype_name' => '__nameembed__',
'attr' => [
'class' => 'tags_second_embed__name__',
'col' => 'col-md-12',
'embed' => 'row',
'embed_row_col' => 'col-md-12',
'embed_row_style' => 'border-bottom: thin solid; margin: 10px 0px;',
],
])*/
//->add('tags2', EmbedType::class, [
// 'entry_type' => Tag2Type::class,
// ...
//])
;
###En las vistas New y Edit agregar:
{% block javascript %}
{{ parent() }}
{# ATENCIÓN #}
{# Si NO utiliza validación JS agregar: #}
<script src="{{ asset('bundles/mwsimpleadmincrud/js/addForm_not_validator.js') }}"></script>
<script src="{{ asset('bundles/mwsimpleadmincrud/js/embed_not_validator.js') }}"></script>
{# Si utiliza la validación JS agregar: #}
<script src="{{ asset('bundles/mwsimpleadmincrud/js/addForm.js') }}"></script>
<script src="{{ asset('bundles/mwsimpleadmincrud/js/embed.js') }}"></script>
<script type="text/javascript">
$('.tags_embed').embed();
{# $('.tags2_embed').embed(); #}
{# Para mas de un nivel #}
{#
$('.tags_embed').embed();
$('body').on('click', '.add_link_tags_embed', function(e) {
var index = $(this).closest('.tags_embed').attr('data-index');
if(typeof index === "undefined"){
index = $(this).closest('.form-group').find('.tags_embed').attr('data-index');
}
$('.tags_second_embed'+index).embed();
});
#}
</script>
{% endblock %}
###Si necesita boton para borrar el elemento agregar en el formulario usado en 'entry_type' en este caso TagType:
...
use MWSimple\Bundle\AdminCrudBundle\Form\Type\ButtonDeleteType;
...
$builder
->add('ButtonDelete', ButtonDeleteType::class, [
'mapped' => false,
'attr' => [
'col' => 'col-md-1',
],
])
;
##Embeber Formularios con Collection (Opcion 2) (DEPRECADO)
###Se pueden usar los metodos: addForm() y removeForm(), incluidos en: addForm.js ###Crea los botones: addLink() y deleteLink(), para usar con addForm.js incluidos en: collection.js
<script src="{{ asset('bundles/mwsimpleadmincrud/js/addForm.js') }}"></script>
<script src="{{ asset('bundles/mwsimpleadmincrud/js/collection.js') }}"></script>
####Si no utiliza el validador por js utilizar el siguiente addForm
<script src="{{ asset('bundles/mwsimpleadmincrud/js/addForm_not_validator.js') }}"></script>
<script src="{{ asset('bundles/mwsimpleadmincrud/js/collection.js') }}"></script>
##Embeber Formularios con Collection (Opcion 3) utilizando ninsuo/symfony-collection
###Ejemplo ...