Skip to content

Commit

Permalink
Rename CollectionType entry options
Browse files Browse the repository at this point in the history
  • Loading branch information
wouterj committed Mar 1, 2015
1 parent 4dd1f25 commit 167adab
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 17 deletions.
4 changes: 2 additions & 2 deletions cookbook/form/form_collections.rst
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ Notice that you embed a collection of ``TagType`` forms using the
{
$builder->add('description');

$builder->add('tags', 'collection', array('type' => new TagType()));
$builder->add('tags', 'collection', array('entry_type' => new TagType()));
}

public function configureOptions(OptionsResolver $resolver)
Expand Down Expand Up @@ -285,7 +285,7 @@ add the ``allow_add`` option to your collection field::
$builder->add('description');

$builder->add('tags', 'collection', array(
'type' => new TagType(),
'entry_type' => new TagType(),
'allow_add' => true,
));
}
Expand Down
39 changes: 24 additions & 15 deletions reference/forms/types/collection.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@ forms, which is useful when creating forms that expose one-to-many relationships
| Options | - `allow_add`_ |
| | - `allow_delete`_ |
| | - `delete_empty`_ |
| | - `options`_ |
| | - `entry_options`_ |
| | - `prototype`_ |
| | - `prototype_name`_ |
| | - `type`_ |
| | - `entry_type`_ |
+-------------+-----------------------------------------------------------------------------+
| Inherited | - `by_reference`_ |
| options | - `cascade_validation`_ |
Expand Down Expand Up @@ -52,10 +52,10 @@ to an array of email addresses. In the form, you want to expose each email
address as its own input text box::

$builder->add('emails', 'collection', array(
// each item in the array will be an "email" field
'type' => 'email',
// each entry in the array will be an "email" field
'entry_type' => 'email',
// these options are passed to each "email" type
'options' => array(
'entry_options' => array(
'required' => false,
'attr' => array('class' => 'email-box')
),
Expand Down Expand Up @@ -266,19 +266,24 @@ form you have to set this option to true. However, existing collection entries
will only be deleted if you have the allow_delete_ option enabled. Otherwise
the empty values will be kept.

options
~~~~~~~
entry_options
~~~~~~~~~~~~~

.. versionadded:: 2.7
The ``entry_options`` option was introduced in Symfony 2.7 in favor of
``options``, which is available prior to 2.7.

**type**: ``array`` **default**: ``array()``

This is the array that's passed to the form type specified in the `type`_
This is the array that's passed to the form type specified in the `entry_type`_
option. For example, if you used the :doc:`choice </reference/forms/types/choice>`
type as your `type`_ option (e.g. for a collection of drop-down menus), then
you'd need to at least pass the ``choices`` option to the underlying type::
type as your `entry_type`_ option (e.g. for a collection of drop-down menus),
then you'd need to at least pass the ``choices`` option to the underlying
type::

$builder->add('favorite_cities', 'collection', array(
'type' => 'choice',
'options' => array(
'entry_type' => 'choice',
'entry_options' => array(
'choices' => array(
'nashville' => 'Nashville',
'paris' => 'Paris',
Expand Down Expand Up @@ -336,12 +341,16 @@ If you have several collections in your form, or worse, nested collections
you may want to change the placeholder so that unrelated placeholders are not
replaced with the same value.

type
~~~~
entry_type
~~~~~~~~~~

.. versionadded:: 2.7
The ``entry_type`` option was introduced in Symfony 2.7 in favor of
``type``, which is available prior to 2.7.

**type**: ``string`` or :class:`Symfony\\Component\\Form\\FormTypeInterface` **required**

This is the field type for each item in this collection (e.g. ``text``, ``choice``,
This is the field type for each entry in this collection (e.g. ``text``, ``choice``,
etc). For example, if you have an array of email addresses, you'd use the
:doc:`email </reference/forms/types/email>` type. If you want to embed
a collection of some other form, create a new instance of your form type
Expand Down

0 comments on commit 167adab

Please sign in to comment.