From b9696ada1d2dd806d0919bc2835e8433883ee987 Mon Sep 17 00:00:00 2001 From: Ilya Antipenko Date: Mon, 5 Oct 2015 13:48:23 +0300 Subject: [PATCH 01/14] Fix docs related with choice form type refactor Changes related with http://symfony.com/blog/new-in-symfony-2-7-choice-form-type-refactorization --- reference/forms/types/entity.rst | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/reference/forms/types/entity.rst b/reference/forms/types/entity.rst index 5aabfdd5f23..e6c26a35c37 100644 --- a/reference/forms/types/entity.rst +++ b/reference/forms/types/entity.rst @@ -110,11 +110,12 @@ choice_label The ``choice_label`` option was introduced in Symfony 2.7. Prior to Symfony 2.7, it was called ``property`` (which has the same functionality). -**type**: ``string`` +**type**: ``string`` or a Closure This is the property that should be used for displaying the entities as text in the HTML element. If left blank, the entity object will be -cast into a string and so must have a ``__toString()`` method. +cast into a string and so must have a ``__toString()`` method. If using Closure, it should +take a single argument, which is the entity and return the label of this entity. .. note:: @@ -152,7 +153,7 @@ instead of the default entity manager. group_by ~~~~~~~~ -**type**: ``string`` +**type**: ``string`` or a Closure This is a property path (e.g. ``author.name``) used to organize the available choices in groups. It only works when rendered as a select tag From f46f134c26c6c409e0ef7a6c58394bc8bed6346c Mon Sep 17 00:00:00 2001 From: Matthias Althaus Date: Thu, 29 Oct 2015 11:00:17 +0100 Subject: [PATCH 02/14] Added basic choice type changes --- reference/forms/types/choice.rst | 68 +++++++++++++++---- .../forms/types/options/choice_attr.rst.inc | 24 +++++++ .../forms/types/options/choice_label.rst.inc | 39 +++++++++++ .../forms/types/options/choice_name.rst.inc | 18 +++++ .../forms/types/options/choice_value.rst.inc | 13 ++++ .../forms/types/options/group_by.rst.inc | 29 ++++++++ .../types/options/preferred_choices.rst.inc | 46 +++++++++++-- 7 files changed, 218 insertions(+), 19 deletions(-) create mode 100644 reference/forms/types/options/choice_attr.rst.inc create mode 100644 reference/forms/types/options/choice_label.rst.inc create mode 100644 reference/forms/types/options/choice_name.rst.inc create mode 100644 reference/forms/types/options/choice_value.rst.inc create mode 100644 reference/forms/types/options/group_by.rst.inc diff --git a/reference/forms/types/choice.rst b/reference/forms/types/choice.rst index 07f80d3cf3c..a6ea5bb205c 100644 --- a/reference/forms/types/choice.rst +++ b/reference/forms/types/choice.rst @@ -15,10 +15,17 @@ option. +-------------+------------------------------------------------------------------------------+ | Options | - `choices`_ | | | - `choice_list`_ | +| | - `choice_loader`_ | +| | - `choice_label`_ | +| | - `choice_name`_ | +| | - `choice_value`_ | +| | - `choice_attr`_ | +| | - `choices_as_values`_ | | | - `placeholder`_ | | | - `expanded`_ | | | - `multiple`_ | | | - `preferred_choices`_ | +| | - `group_by`_ | +-------------+------------------------------------------------------------------------------+ | Overridden | - `compound`_ | | options | - `empty_data`_ | @@ -51,7 +58,8 @@ user sees on the form (e.g. ``Male``). .. code-block:: php $builder->add('gender', 'choice', array( - 'choices' => array('m' => 'Male', 'f' => 'Female'), + 'choices' => array('Male' => 'm', 'Female' => 'f'), + 'choices_as_values' => true, 'required' => false, )); @@ -61,15 +69,33 @@ of checkboxes depending on the ``expanded`` option:: $builder->add('availability', 'choice', array( 'choices' => array( - 'morning' => 'Morning', - 'afternoon' => 'Afternoon', - 'evening' => 'Evening', + 'Morning' => 'morning', + 'Afternoon' => 'afternoon', + 'Evening' => 'evening', ), + 'choices_as_values' => true, 'multiple' => true, )); -You can also use the ``choice_list`` option, which takes an object that -can specify the choices for your widget. +If you rely on your option value attribute (e.g. for JavaScript) you need to +set ``choice_value``, otherwise the option values will be mapped to integer +values:: + + $builder->add('availability', 'choice', array( + 'choices' => array( + 'Morning' => 'morning', + 'Afternoon' => 'afternoon', + 'Evening' => 'evening', + ), + 'choices_as_values' => true, + 'choice_value' => function ($choice) { + return $choice; + }, + 'multiple' => true, + )); + +You can also use the ``choice_loader`` option, which can be used to load the +list only partially in cases where a fully-loaded list is not necessary. .. _forms-reference-choice-tags: @@ -85,19 +111,23 @@ choices This is the most basic way to specify the choices that should be used by this field. The ``choices`` option is an array, where the array key -is the item value and the array value is the item's label:: +is the item's label and the array value is the item's value:: $builder->add('gender', 'choice', array( - 'choices' => array('m' => 'Male', 'f' => 'Female'), + 'choices' => array('Male' => 'm', 'Female' => 'f'), + 'choices_as_values' => true, )); -.. tip:: +.. versionadded:: 2.7 + Symfony 2.7 introduced the option to flip the ``choices`` array to be + able to use values that are not integers or strings (but e.g. floats + or booleans). - When the values to choose from are not integers or strings (but e.g. - floats or booleans), you should use the `choice_list`_ option instead. - With this option you are able to keep the original data format which - is important to ensure that the user input is validated properly and - useless database updates caused by a data type mismatch are avoided. +.. caution:: + + The ``choices_as_values`` option will be removed in Symfony 3.0, where + the choices will be passed in the values of the ``choices`` option by + default. choice_list ~~~~~~~~~~~ @@ -149,6 +179,16 @@ in HTML), ``0.1`` will be returned. .. include:: /reference/forms/types/options/preferred_choices.rst.inc +.. include:: /reference/forms/types/options/choice_label.rst.inc + +.. include:: /reference/forms/types/options/choice_name.rst.inc + +.. include:: /reference/forms/types/options/choice_value.rst.inc + +.. include:: /reference/forms/types/options/choice_attr.rst.inc + +.. include:: /reference/forms/types/options/group_by.rst.inc + Overridden Options ------------------ diff --git a/reference/forms/types/options/choice_attr.rst.inc b/reference/forms/types/options/choice_attr.rst.inc new file mode 100644 index 00000000000..a5f929ee72b --- /dev/null +++ b/reference/forms/types/options/choice_attr.rst.inc @@ -0,0 +1,24 @@ +choice_attr +~~~~~~~~~~~ + +.. versionadded:: 2.7 + The ``choice_attr`` option was introduced in Symfony 2.7. + +**type**: ``array``, ``callable`` or ``string`` **default**: ``array()`` + +Returns the additional HTML attributes for choices. Can be an array, a callable +(like for ``choice_label``) or a property path. + +If an array, the keys of the ``choices`` array must be used as keys:: + + $builder->add('attending', 'choice', array( + 'choices' => array( + 'Yes' => true, + 'No' => false, + 'Maybe' => null, + ), + 'choices_as_values' => true, + 'choice_attr' => array( + 'Maybe' => array('class' => 'greyed-out'), + ), + )); diff --git a/reference/forms/types/options/choice_label.rst.inc b/reference/forms/types/options/choice_label.rst.inc new file mode 100644 index 00000000000..d6640bd56ba --- /dev/null +++ b/reference/forms/types/options/choice_label.rst.inc @@ -0,0 +1,39 @@ +choice_label +~~~~~~~~~~~~ + +.. versionadded:: 2.7 + The ``choice_label`` option was introduced in Symfony 2.7. + +**type**: ``callable`` or ``string`` **default**: ``null`` + +Returns the label for each choice. Can be a callable (which receives the choice +as first and the key of the ``choices`` array as second argument) or a property +path. + +If ``null``, the keys of the ``choices`` array are used as labels. + +* Using a callable to set the label:: + + $builder->add('attending', 'choice', array( + 'choices' => array( + 'yes' => true, + 'no' => false, + 'maybe' => null, + ), + 'choices_as_values' => true, + 'choice_label' => function ($choice, $key) { + return 'form.choice.'.$key; + }, + )); + +* Using a property path to set the label:: + + $builder->add('attending', 'choice', array( + 'choices' => array( + Status::getInstance(Status::YES), + Status::getInstance(Status::NO), + Status::getInstance(Status::MAYBE), + ), + 'choices_as_values' => true, + 'choice_label' => 'displayName', + )); diff --git a/reference/forms/types/options/choice_name.rst.inc b/reference/forms/types/options/choice_name.rst.inc new file mode 100644 index 00000000000..0b32f16a08b --- /dev/null +++ b/reference/forms/types/options/choice_name.rst.inc @@ -0,0 +1,18 @@ +choice_name +~~~~~~~~~~~ + +.. versionadded:: 2.7 + The ``choice_name`` option was introduced in Symfony 2.7. + +**type**: ``callable`` or ``string`` **default**: ``null`` + +Returns the form name for each choice. That name is used as name of the +checkbox/radio form for this choice. It is also used as index of the choice +views in the template. Can be a callable (like for ``choice_label``) or a +property path. + +The generated names must be valid form names, i.e. contain alpha-numeric +symbols, underscores, hyphens and colons only. They must start with an +alpha-numeric symbol or an underscore. + +If ``null``, an incrementing integer is used as name. diff --git a/reference/forms/types/options/choice_value.rst.inc b/reference/forms/types/options/choice_value.rst.inc new file mode 100644 index 00000000000..2f4feb94d84 --- /dev/null +++ b/reference/forms/types/options/choice_value.rst.inc @@ -0,0 +1,13 @@ +choice_value +~~~~~~~~~~~~ + +.. versionadded:: 2.7 + The ``choice_value`` option was introduced in Symfony 2.7. + +**type**: ``callable`` or ``string`` **default**: ``null`` + +Returns the string value for each choice. This value is displayed in the +``value`` attributes and submitted in the POST/PUT requests. Can be a +callable (like for ``choice_label``) or a property path. + +If ``null``, an incrementing integer is used as value. diff --git a/reference/forms/types/options/group_by.rst.inc b/reference/forms/types/options/group_by.rst.inc new file mode 100644 index 00000000000..33e0bfff510 --- /dev/null +++ b/reference/forms/types/options/group_by.rst.inc @@ -0,0 +1,29 @@ +group_by +~~~~~~~~ + +.. versionadded:: 2.7 + The ``group_by`` option was introduced in Symfony 2.7. + +**type**: ``array``, ``callable`` or ``string`` **default**: ``null`` + +Returns the grouping used for the choices. Can be an array/Traversable, a +callable (like for ``choice_label``) or a property path. + +The return values of the callable/property path are used as group labels. If +``null`` is returned, a choice is not grouped. + +If ``null``, the structure of the ``choices`` array is used to construct the +groups:: + + $builder->add('attending', 'choice', array( + 'choices' => array( + 'Decided' => array( + 'Yes' => true, + 'No' => false, + ), + 'Undecided' => array( + 'Maybe' => null, + ), + ), + 'choices_as_values' => true, + )); diff --git a/reference/forms/types/options/preferred_choices.rst.inc b/reference/forms/types/options/preferred_choices.rst.inc index 57cfea43830..0aa169c8b23 100644 --- a/reference/forms/types/options/preferred_choices.rst.inc +++ b/reference/forms/types/options/preferred_choices.rst.inc @@ -1,16 +1,52 @@ preferred_choices ~~~~~~~~~~~~~~~~~ -**type**: ``array`` **default**: ``array()`` +**type**: ``array``, ``callable`` or ``string`` **default**: ``array()`` -If this option is specified, then a sub-set of all of the options will be +If this option is specified as an array, then a sub-set of all of the options will be moved to the top of the select menu. The following would move the "Baz" option to the top, with a visual separator between it and the rest of the options:: - $builder->add('foo_choices', 'choice', array( - 'choices' => array('foo' => 'Foo', 'bar' => 'Bar', 'baz' => 'Baz'), - 'preferred_choices' => array('baz'), + $builder->add('attending', 'choice', array( + 'choices' => array( + 'Yes' => true, + 'No' => false, + 'Maybe' => null, + ), + 'choices_as_values' => true, + 'preferred_choices' => array(true), + )); + +.. versionadded:: 2.7 + Setting a callable or propery path was introduced in Symfony 2.7. + +If this option is specified as a callable, then the the preferred options +are computed by the callback:: + + $builder->add('attending', 'choice', array( + 'choices' => array( + 'Yes' => true, + 'No' => false, + 'Maybe' => null, + ), + 'choices_as_values' => true, + 'preferred_choices' => function ($choice, $key) { + return true === $choice; + }, + )); + +If this option is specified as a property path, then the preferred options +are taken from the objects:: + + $builder->add('attending', 'choice', array( + 'choices' => array( + 'Yes' => Status::getInstance(Status::YES), + 'No' => Status::getInstance(Status::NO), + 'Maybe' => Status::getInstance(Status::MAYBE), + ), + 'choices_as_values' => true, + 'preferred_choices' => 'preferred', )); Note that preferred choices are only meaningful when rendering as a ``select`` From 5f6ba80c0c99339ca6bd6938d897f1714df34f91 Mon Sep 17 00:00:00 2001 From: Matthias Althaus Date: Fri, 30 Oct 2015 11:58:21 +0100 Subject: [PATCH 03/14] Added choice_loader basics --- reference/forms/types/choice.rst | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/reference/forms/types/choice.rst b/reference/forms/types/choice.rst index a6ea5bb205c..39a5297ded1 100644 --- a/reference/forms/types/choice.rst +++ b/reference/forms/types/choice.rst @@ -171,6 +171,18 @@ But don't be confused! If ``Full`` is selected (value ``0`` in HTML), ``1`` will be returned in your form. If ``Almost empty`` is selected (value ``2`` in HTML), ``0.1`` will be returned. +choice_loader +~~~~~~~~~~~~~ + +.. versionadded:: 2.7 + + The ``choice_loader`` option of ChoiceType was introduced in Symfony 2.7. + +The choice loader can be used to load the list only partially in cases where a +fully-loaded list is not necessary. + +**type**: :class:`Symfony\\Component\\Form\\ChoiceList\\Loader\\ChoiceLoaderInterface` + .. include:: /reference/forms/types/options/placeholder.rst.inc .. include:: /reference/forms/types/options/expanded.rst.inc From 54830f0ca7daacdc65a874d881fb8c35f449fbb9 Mon Sep 17 00:00:00 2001 From: Matthias Althaus Date: Fri, 30 Oct 2015 12:17:01 +0100 Subject: [PATCH 04/14] Added choices_as_values description --- reference/forms/types/choice.rst | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/reference/forms/types/choice.rst b/reference/forms/types/choice.rst index 39a5297ded1..116dd08adc0 100644 --- a/reference/forms/types/choice.rst +++ b/reference/forms/types/choice.rst @@ -123,6 +123,37 @@ is the item's label and the array value is the item's value:: able to use values that are not integers or strings (but e.g. floats or booleans). +choices_as_values +~~~~~~~~~~~~~~~~~ + +**type**: ``boolean`` **default**: false + +.. versionadded:: 2.7 + + The ``choices_as_values`` option of ChoiceType was introduced in Symfony 2.7. + +The ``choices_as_values`` option was introduced to ensure backward compatibility with the +modified handling of the ``choices`` optio. Being set to ``false`` the choices array +will be read as values mapping the keys. Setting the option to ``true`` will enable the new +handling of the choices mapping keys to values. + + * Before 2.7:: + $builder->add('gender', 'choice', array( + 'choices' => array('m' => 'Male', 'f' => 'Female'), + 'choices_as_values' => false, + )); + + * Optional since 2.7:: + $builder->add('gender', 'choice', array( + 'choices' => array('Male' => 'm', 'Female' => 'f'), + 'choices_as_values' => true, + )); + + * Default for 3.0:: + $builder->add('gender', 'choice', array( + 'choices' => array('Male' => 'm', 'Female' => 'f'), + )); + .. caution:: The ``choices_as_values`` option will be removed in Symfony 3.0, where From 9a23cd2628bc06c3493f2529e166f315971a641d Mon Sep 17 00:00:00 2001 From: Matthias Althaus Date: Fri, 30 Oct 2015 12:21:32 +0100 Subject: [PATCH 05/14] Added choices_as_values description [amend] --- reference/forms/types/choice.rst | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/reference/forms/types/choice.rst b/reference/forms/types/choice.rst index 116dd08adc0..8b0516be30c 100644 --- a/reference/forms/types/choice.rst +++ b/reference/forms/types/choice.rst @@ -137,19 +137,22 @@ modified handling of the ``choices`` optio. Being set to ``false`` the choices a will be read as values mapping the keys. Setting the option to ``true`` will enable the new handling of the choices mapping keys to values. - * Before 2.7:: +* Before 2.7:: + $builder->add('gender', 'choice', array( 'choices' => array('m' => 'Male', 'f' => 'Female'), 'choices_as_values' => false, )); - * Optional since 2.7:: +* Optional since 2.7:: + $builder->add('gender', 'choice', array( 'choices' => array('Male' => 'm', 'Female' => 'f'), 'choices_as_values' => true, )); - * Default for 3.0:: +* Default for 3.0:: + $builder->add('gender', 'choice', array( 'choices' => array('Male' => 'm', 'Female' => 'f'), )); From 01bd200a5adedf0a59359bda795349f3536af7c5 Mon Sep 17 00:00:00 2001 From: Matthias Althaus Date: Thu, 5 Nov 2015 09:39:03 +0100 Subject: [PATCH 06/14] Fixed linebreaking --- reference/forms/types/choice.rst | 33 ++++++++++--------- .../forms/types/options/choice_label.rst.inc | 6 ++-- .../forms/types/options/choice_name.rst.inc | 4 +-- .../forms/types/options/group_by.rst.inc | 12 +++---- .../types/options/preferred_choices.rst.inc | 8 ++--- 5 files changed, 33 insertions(+), 30 deletions(-) diff --git a/reference/forms/types/choice.rst b/reference/forms/types/choice.rst index 8b0516be30c..447518d4e3a 100644 --- a/reference/forms/types/choice.rst +++ b/reference/forms/types/choice.rst @@ -77,8 +77,8 @@ of checkboxes depending on the ``expanded`` option:: 'multiple' => true, )); -If you rely on your option value attribute (e.g. for JavaScript) you need to -set ``choice_value``, otherwise the option values will be mapped to integer +If you rely on your option value attribute (e.g. for JavaScript) you need +to set ``choice_value``, otherwise the option values will be mapped to integer values:: $builder->add('availability', 'choice', array( @@ -94,8 +94,8 @@ values:: 'multiple' => true, )); -You can also use the ``choice_loader`` option, which can be used to load the -list only partially in cases where a fully-loaded list is not necessary. +You can also use the ``choice_loader`` option, which can be used to load +the list only partially in cases where a fully-loaded list is not necessary. .. _forms-reference-choice-tags: @@ -130,12 +130,14 @@ choices_as_values .. versionadded:: 2.7 - The ``choices_as_values`` option of ChoiceType was introduced in Symfony 2.7. + The ``choices_as_values`` option of ChoiceType was introduced in Symfony + 2.7. -The ``choices_as_values`` option was introduced to ensure backward compatibility with the -modified handling of the ``choices`` optio. Being set to ``false`` the choices array -will be read as values mapping the keys. Setting the option to ``true`` will enable the new -handling of the choices mapping keys to values. +The ``choices_as_values`` option was introduced to ensure backward compatibility +with the modified handling of the ``choices`` optio. Being set to ``false`` +the choices array will be read as values mapping the keys. Setting the option +to ``true`` will enable the new handling of the choices mapping keys to +values. * Before 2.7:: @@ -159,9 +161,9 @@ handling of the choices mapping keys to values. .. caution:: - The ``choices_as_values`` option will be removed in Symfony 3.0, where - the choices will be passed in the values of the ``choices`` option by - default. + The ``choices_as_values`` option will be removed in Symfony 3.0, + where the choices will be passed in the values of the ``choices`` + option by default. choice_list ~~~~~~~~~~~ @@ -210,10 +212,11 @@ choice_loader .. versionadded:: 2.7 - The ``choice_loader`` option of ChoiceType was introduced in Symfony 2.7. + The ``choice_loader`` option of ChoiceType was introduced in Symfony + 2.7. -The choice loader can be used to load the list only partially in cases where a -fully-loaded list is not necessary. +The choice loader can be used to load the list only partially in cases where +a fully-loaded list is not necessary. **type**: :class:`Symfony\\Component\\Form\\ChoiceList\\Loader\\ChoiceLoaderInterface` diff --git a/reference/forms/types/options/choice_label.rst.inc b/reference/forms/types/options/choice_label.rst.inc index d6640bd56ba..73970631fdd 100644 --- a/reference/forms/types/options/choice_label.rst.inc +++ b/reference/forms/types/options/choice_label.rst.inc @@ -6,9 +6,9 @@ choice_label **type**: ``callable`` or ``string`` **default**: ``null`` -Returns the label for each choice. Can be a callable (which receives the choice -as first and the key of the ``choices`` array as second argument) or a property -path. +Returns the label for each choice. Can be a callable (which receives the +choice as first and the key of the ``choices`` array as second argument) +or a property path. If ``null``, the keys of the ``choices`` array are used as labels. diff --git a/reference/forms/types/options/choice_name.rst.inc b/reference/forms/types/options/choice_name.rst.inc index 0b32f16a08b..6b0c108f61c 100644 --- a/reference/forms/types/options/choice_name.rst.inc +++ b/reference/forms/types/options/choice_name.rst.inc @@ -8,8 +8,8 @@ choice_name Returns the form name for each choice. That name is used as name of the checkbox/radio form for this choice. It is also used as index of the choice -views in the template. Can be a callable (like for ``choice_label``) or a -property path. +views in the template. Can be a callable (like for ``choice_label``) or +a property path. The generated names must be valid form names, i.e. contain alpha-numeric symbols, underscores, hyphens and colons only. They must start with an diff --git a/reference/forms/types/options/group_by.rst.inc b/reference/forms/types/options/group_by.rst.inc index 33e0bfff510..a0c59b5effd 100644 --- a/reference/forms/types/options/group_by.rst.inc +++ b/reference/forms/types/options/group_by.rst.inc @@ -6,14 +6,14 @@ group_by **type**: ``array``, ``callable`` or ``string`` **default**: ``null`` -Returns the grouping used for the choices. Can be an array/Traversable, a -callable (like for ``choice_label``) or a property path. +Returns the grouping used for the choices. Can be an array/Traversable, +a callable (like for ``choice_label``) or a property path. -The return values of the callable/property path are used as group labels. If -``null`` is returned, a choice is not grouped. +The return values of the callable/property path are used as group labels. +If ``null`` is returned, a choice is not grouped. -If ``null``, the structure of the ``choices`` array is used to construct the -groups:: +If ``null``, the structure of the ``choices`` array is used to construct +the groups:: $builder->add('attending', 'choice', array( 'choices' => array( diff --git a/reference/forms/types/options/preferred_choices.rst.inc b/reference/forms/types/options/preferred_choices.rst.inc index 0aa169c8b23..8aa1a1a2ce8 100644 --- a/reference/forms/types/options/preferred_choices.rst.inc +++ b/reference/forms/types/options/preferred_choices.rst.inc @@ -3,10 +3,10 @@ preferred_choices **type**: ``array``, ``callable`` or ``string`` **default**: ``array()`` -If this option is specified as an array, then a sub-set of all of the options will be -moved to the top of the select menu. The following would move the "Baz" -option to the top, with a visual separator between it and the rest of the -options:: +If this option is specified as an array, then a sub-set of all of the options +will be moved to the top of the select menu. The following would move the +"Baz" option to the top, with a visual separator between it and the rest +of the options:: $builder->add('attending', 'choice', array( 'choices' => array( From 31134f5a66d7f9ef540517ac073f5aa2777bb092 Mon Sep 17 00:00:00 2001 From: Matthias Althaus Date: Thu, 5 Nov 2015 09:40:25 +0100 Subject: [PATCH 07/14] Fixed preferred choices example --- reference/forms/types/options/preferred_choices.rst.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/forms/types/options/preferred_choices.rst.inc b/reference/forms/types/options/preferred_choices.rst.inc index 8aa1a1a2ce8..05f3c9be757 100644 --- a/reference/forms/types/options/preferred_choices.rst.inc +++ b/reference/forms/types/options/preferred_choices.rst.inc @@ -5,7 +5,7 @@ preferred_choices If this option is specified as an array, then a sub-set of all of the options will be moved to the top of the select menu. The following would move the -"Baz" option to the top, with a visual separator between it and the rest +"Yes" option to the top, with a visual separator between it and the rest of the options:: $builder->add('attending', 'choice', array( From 7cc7e2dd88ccc6cc9f8dcb5bd7299ffe0dcf34a2 Mon Sep 17 00:00:00 2001 From: Ryan Weaver Date: Sun, 8 Nov 2015 16:47:42 -0500 Subject: [PATCH 08/14] changing option order - choice_name and choice_value seem like edge cases --- reference/forms/types/choice.rst | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/reference/forms/types/choice.rst b/reference/forms/types/choice.rst index 447518d4e3a..e04b3f49bef 100644 --- a/reference/forms/types/choice.rst +++ b/reference/forms/types/choice.rst @@ -17,8 +17,6 @@ option. | | - `choice_list`_ | | | - `choice_loader`_ | | | - `choice_label`_ | -| | - `choice_name`_ | -| | - `choice_value`_ | | | - `choice_attr`_ | | | - `choices_as_values`_ | | | - `placeholder`_ | @@ -26,6 +24,8 @@ option. | | - `multiple`_ | | | - `preferred_choices`_ | | | - `group_by`_ | +| | - `choice_name`_ | +| | - `choice_value`_ | +-------------+------------------------------------------------------------------------------+ | Overridden | - `compound`_ | | options | - `empty_data`_ | @@ -230,14 +230,14 @@ a fully-loaded list is not necessary. .. include:: /reference/forms/types/options/choice_label.rst.inc -.. include:: /reference/forms/types/options/choice_name.rst.inc - -.. include:: /reference/forms/types/options/choice_value.rst.inc - .. include:: /reference/forms/types/options/choice_attr.rst.inc .. include:: /reference/forms/types/options/group_by.rst.inc +.. include:: /reference/forms/types/options/choice_name.rst.inc + +.. include:: /reference/forms/types/options/choice_value.rst.inc + Overridden Options ------------------ From 13930a7515643b27baf50e2bc99c4f491b8faf38 Mon Sep 17 00:00:00 2001 From: Ryan Weaver Date: Sun, 8 Nov 2015 18:51:04 -0500 Subject: [PATCH 09/14] Completely re-working all the choice docs, including screenshots - for 2.7 changes --- images/reference/form/choice-example1.png | Bin 0 -> 28958 bytes images/reference/form/choice-example2.png | Bin 0 -> 30469 bytes images/reference/form/choice-example3.png | Bin 0 -> 33817 bytes images/reference/form/choice-example4.png | Bin 0 -> 51730 bytes images/reference/form/choice-example5.png | Bin 0 -> 40125 bytes reference/forms/types/choice.rst | 241 +++++++++++------- reference/forms/types/entity.rst | 101 ++++---- reference/forms/types/form.rst | 2 + .../forms/types/options/choice_attr.rst.inc | 12 +- .../forms/types/options/choice_label.rst.inc | 39 ++- .../forms/types/options/choice_name.rst.inc | 14 +- .../forms/types/options/choice_value.rst.inc | 10 +- .../forms/types/options/group_by.rst.inc | 44 +++- .../types/options/preferred_choices.rst.inc | 67 +++-- 14 files changed, 303 insertions(+), 227 deletions(-) create mode 100644 images/reference/form/choice-example1.png create mode 100644 images/reference/form/choice-example2.png create mode 100644 images/reference/form/choice-example3.png create mode 100644 images/reference/form/choice-example4.png create mode 100644 images/reference/form/choice-example5.png diff --git a/images/reference/form/choice-example1.png b/images/reference/form/choice-example1.png new file mode 100644 index 0000000000000000000000000000000000000000..00e47d0bb27b0d7a10209fb76b4f2ccfb15fe1af GIT binary patch literal 28958 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 z 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 literal 0 HcmV?d00001 diff --git a/images/reference/form/choice-example4.png b/images/reference/form/choice-example4.png new file mode 100644 index 0000000000000000000000000000000000000000..7f6071d3532d201cdd2cc12a7e79a13e32ec8e8a GIT binary patch literal 51730 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 NQ;<=S20u3p{(shqYc~J@ literal 0 HcmV?d00001 diff --git a/images/reference/form/choice-example5.png b/images/reference/form/choice-example5.png new file mode 100644 index 0000000000000000000000000000000000000000..188eeeec234acc347c85c3c0e9b762336aecdd1d GIT binary patch literal 40125 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 Hl+XkKkYm`i literal 0 HcmV?d00001 diff --git a/reference/forms/types/choice.rst b/reference/forms/types/choice.rst index e04b3f49bef..9d89b6b1f4a 100644 --- a/reference/forms/types/choice.rst +++ b/reference/forms/types/choice.rst @@ -1,31 +1,30 @@ .. index:: single: Forms; Fields; choice -choice Field Type -================= +choice Field Type (select drop-downs, radio buttons & checkboxes) +================================================================= A multi-purpose field used to allow the user to "choose" one or more options. It can be rendered as a ``select`` tag, radio buttons, or checkboxes. -To use this field, you must specify *either* the ``choice_list`` or ``choices`` -option. +To use this field, you must specify *either* ``choices`` or ``choice_loader`` option. +-------------+------------------------------------------------------------------------------+ | Rendered as | can be various tags (see below) | +-------------+------------------------------------------------------------------------------+ | Options | - `choices`_ | -| | - `choice_list`_ | +| | - `choices_as_values`_ | | | - `choice_loader`_ | | | - `choice_label`_ | | | - `choice_attr`_ | -| | - `choices_as_values`_ | | | - `placeholder`_ | | | - `expanded`_ | | | - `multiple`_ | | | - `preferred_choices`_ | | | - `group_by`_ | -| | - `choice_name`_ | | | - `choice_value`_ | +| | - `choice_name`_ | +| | - `choice_list`_ (deprecated) | +-------------+------------------------------------------------------------------------------+ | Overridden | - `compound`_ | | options | - `empty_data`_ | @@ -51,56 +50,112 @@ Example Usage ------------- The easiest way to use this field is to specify the choices directly via -the ``choices`` option. The key of the array becomes the value that's actually -set on your underlying object (e.g. ``m``), while the value is what the -user sees on the form (e.g. ``Male``). - -.. code-block:: php +the ``choices`` option:: - $builder->add('gender', 'choice', array( - 'choices' => array('Male' => 'm', 'Female' => 'f'), + $builder->add('isAttending', 'choice', array( + 'choices' => array( + 'Maybe' => null, + 'Yes' => true, + 'No' => false, + ), + // *this line is important* 'choices_as_values' => true, - 'required' => false, )); -By setting ``multiple`` to true, you can allow the user to choose multiple -values. The widget will be rendered as a multiple ``select`` tag or a series -of checkboxes depending on the ``expanded`` option:: +This will create a ``select`` drop-down like this: - $builder->add('availability', 'choice', array( - 'choices' => array( - 'Morning' => 'morning', - 'Afternoon' => 'afternoon', - 'Evening' => 'evening', - ), - 'choices_as_values' => true, - 'multiple' => true, - )); +.. image:: /images/reference/form/choice-example1.png + :align: center + :scale: 50 + :width: 350 -If you rely on your option value attribute (e.g. for JavaScript) you need -to set ``choice_value``, otherwise the option values will be mapped to integer -values:: +If the user selects ``No``, the form will return ``false`` for this field. Similarly, +if the starting data for this field is ``true``, then ``Yes`` will be auto-selected. +In other words, the **value** of each item is the value you want to get/set in PHP +code, while the **key** is what will be shown to the user. - $builder->add('availability', 'choice', array( - 'choices' => array( - 'Morning' => 'morning', - 'Afternoon' => 'afternoon', - 'Evening' => 'evening', - ), - 'choices_as_values' => true, - 'choice_value' => function ($choice) { - return $choice; - }, - 'multiple' => true, - )); +.. caution:: -You can also use the ``choice_loader`` option, which can be used to load -the list only partially in cases where a fully-loaded list is not necessary. + The ``choices_as_values`` *must* be set to ``true`` in all cases. This activates + the "new" choice type API, which was introduced in Symfony 2.7. If you omit this + option (or set it to ``false``), you'll activate the old API, which is deprecated + and will be removed in 3.0. To read about the old API, read an older version of + the docs. + +Advanced Example (with Objects!) +-------------------------------- + +This field has a *lot* of options and most control how the field is displayed. In +this example, the underlying data is some ``Category`` object that has a ``getName()`` +method:: + + $builder + ->add('category', 'choice', [ + 'choices' => [ + new Category('Cat1'), + new Category('Cat2'), + new Category('Cat3'), + new Category('Cat4'), + ], + 'choices_as_values' => true, + 'choice_label' => function($val, $key, $index) { + /** @var Category $val */ + return strtoupper($val->getName()); + }, + 'choice_attr' => function($val, $key, $index) { + return ['class' => 'category_'.strtolower($val->getName())]; + }, + 'group_by' => function($val, $key, $index) { + // randomly assign things into 2 groups + return rand(0, 1) == 1 ? 'Group A' : 'Group B' + }, + 'preferred_choices' => function($val, $key, $index) { + return $val->getName() == 'Cat2' || $val->getName() == 'Cat3'; + }, + ]); + +You can also customize the `choice_name`_ and `choice_value`_ of each choice if +you need further HTML customization. .. _forms-reference-choice-tags: .. include:: /reference/forms/types/options/select_how_rendered.rst.inc +Customizing each Option's Text (Label) +-------------------------------------- + +Normally, the array key of each item in the ``choices`` option is used as the +text that's shown to the user. But that can be completely customized via the +`choice_label`_ option. Check it out for more details. + +.. _form-choices-simple-grouping: + +Grouping Options +---------------- + +You can easily "group" options in a select by passing a multi-dimensional choices array:: + + $builder->add('stockStatus', 'choice', [ + 'choices' => [ + 'Main Statuses' => [ + 'Yes' => 'stock_yes', + 'No' => 'stock_no', + ], + 'Out of Stock Statuses' => [ + 'Backordered' => 'stock_backordered', + 'Discontinued' => 'stock_discontinued', + ] + ], + 'choices_as_values' => true, + ); + +.. image:: /images/reference/form/choice-example3.png + :align: center + :scale: 50 + :width: 350 + +To get fancier, use the `group_by`_ option. + Field Options ------------- @@ -113,16 +168,12 @@ This is the most basic way to specify the choices that should be used by this field. The ``choices`` option is an array, where the array key is the item's label and the array value is the item's value:: - $builder->add('gender', 'choice', array( - 'choices' => array('Male' => 'm', 'Female' => 'f'), + $builder->add('inStock', 'choice', array( + 'choices' => array('In Stock' => true, 'Out of Stock' => false), + // always include this 'choices_as_values' => true, )); -.. versionadded:: 2.7 - Symfony 2.7 introduced the option to flip the ``choices`` array to be - able to use values that are not integers or strings (but e.g. floats - or booleans). - choices_as_values ~~~~~~~~~~~~~~~~~ @@ -130,18 +181,17 @@ choices_as_values .. versionadded:: 2.7 - The ``choices_as_values`` option of ChoiceType was introduced in Symfony - 2.7. + The ``choices_as_values`` option was introduced in Symfony 2.7. -The ``choices_as_values`` option was introduced to ensure backward compatibility -with the modified handling of the ``choices`` optio. Being set to ``false`` -the choices array will be read as values mapping the keys. Setting the option -to ``true`` will enable the new handling of the choices mapping keys to -values. +The ``choices_as_values`` option was added to keep backward compatibility with the +*old* way of handling the ``choices`` option. When set to ``false`` (or omitted), +the choice keys are used as the underlying value and the choice values are shown +to the user. -* Before 2.7:: +* Before 2.7 (and deprecated now):: $builder->add('gender', 'choice', array( + // Shows "Male" to the user, returns "m" when selected 'choices' => array('m' => 'Male', 'f' => 'Female'), 'choices_as_values' => false, )); @@ -149,21 +199,53 @@ values. * Optional since 2.7:: $builder->add('gender', 'choice', array( + // Shows "Male" to the user, returns "m" when selected 'choices' => array('Male' => 'm', 'Female' => 'f'), 'choices_as_values' => true, )); +In Symfony 3.0, ``choices_as_values`` option will go away, but it's behavior will +always be used: + * Default for 3.0:: $builder->add('gender', 'choice', array( 'choices' => array('Male' => 'm', 'Female' => 'f'), )); -.. caution:: +choice_loader +~~~~~~~~~~~~~ + +.. versionadded:: 2.7 + + The ``choice_loader`` option was added in Symfony 2.7. + +**type**: :class:`Symfony\\Component\\Form\\ChoiceList\\Loader\\ChoiceLoaderInterface` + +The ``choice_loader`` can be used to only partially load the choices in cases where +a fully-loaded list is not necessary. This is only needed in advanced cases and +would replace the ``choices`` option. + +.. _reference-form-choice-label: + +.. include:: /reference/forms/types/options/choice_label.rst.inc + +.. include:: /reference/forms/types/options/choice_attr.rst.inc + +.. include:: /reference/forms/types/options/placeholder.rst.inc + +.. include:: /reference/forms/types/options/expanded.rst.inc + +.. include:: /reference/forms/types/options/multiple.rst.inc + +.. include:: /reference/forms/types/options/preferred_choices.rst.inc + +.. include:: /reference/forms/types/options/group_by.rst.inc + +.. include:: /reference/forms/types/options/choice_value.rst.inc + +.. include:: /reference/forms/types/options/choice_name.rst.inc - The ``choices_as_values`` option will be removed in Symfony 3.0, - where the choices will be passed in the values of the ``choices`` - option by default. choice_list ~~~~~~~~~~~ @@ -171,7 +253,7 @@ choice_list .. caution:: The ``choice_list`` option of ChoiceType was deprecated in Symfony 2.7. - You should use ``choices`` or ``choice_loader`` now. + You should use `choices`_ or `choice_loader`_ now. **type**: :class:`Symfony\\Component\\Form\\Extension\\Core\\ChoiceList\\ChoiceListInterface` @@ -207,37 +289,6 @@ But don't be confused! If ``Full`` is selected (value ``0`` in HTML), ``1`` will be returned in your form. If ``Almost empty`` is selected (value ``2`` in HTML), ``0.1`` will be returned. -choice_loader -~~~~~~~~~~~~~ - -.. versionadded:: 2.7 - - The ``choice_loader`` option of ChoiceType was introduced in Symfony - 2.7. - -The choice loader can be used to load the list only partially in cases where -a fully-loaded list is not necessary. - -**type**: :class:`Symfony\\Component\\Form\\ChoiceList\\Loader\\ChoiceLoaderInterface` - -.. include:: /reference/forms/types/options/placeholder.rst.inc - -.. include:: /reference/forms/types/options/expanded.rst.inc - -.. include:: /reference/forms/types/options/multiple.rst.inc - -.. include:: /reference/forms/types/options/preferred_choices.rst.inc - -.. include:: /reference/forms/types/options/choice_label.rst.inc - -.. include:: /reference/forms/types/options/choice_attr.rst.inc - -.. include:: /reference/forms/types/options/group_by.rst.inc - -.. include:: /reference/forms/types/options/choice_name.rst.inc - -.. include:: /reference/forms/types/options/choice_value.rst.inc - Overridden Options ------------------ diff --git a/reference/forms/types/entity.rst b/reference/forms/types/entity.rst index e6c26a35c37..0f769b1ee51 100644 --- a/reference/forms/types/entity.rst +++ b/reference/forms/types/entity.rst @@ -12,15 +12,13 @@ objects from the database. +-------------+------------------------------------------------------------------+ | Rendered as | can be various tags (see :ref:`forms-reference-choice-tags`) | +-------------+------------------------------------------------------------------+ -| Options | - `choice_label`_ | -| | - `class`_ | -| | - `data_class`_ | -| | - `em`_ | -| | - `group_by`_ | +| Options | - `class`_ | +| | - `choice_label`_ | | | - `query_builder`_ | +| | - `em`_ | +-------------+------------------------------------------------------------------+ -| Overridden | - `choice_list`_ | -| options | - `choices`_ | +| Overridden | - `choices`_ | +| options | | +-------------+------------------------------------------------------------------+ | Inherited | from the :doc:`choice ` type: | | options | | @@ -28,6 +26,7 @@ objects from the database. | | - `expanded`_ | | | - `multiple`_ | | | - `preferred_choices`_ | +| | - `group_by`_ | | | | | | from the :doc:`form ` type: | | | | @@ -103,6 +102,15 @@ then you can supply the ``choices`` option directly:: Field Options ------------- +class +~~~~~ + +**type**: ``string`` **required** + +The class of your entity (e.g. ``AcmeStoreBundle:Category``). This can be +a fully-qualified class name (e.g. ``Acme\StoreBundle\Entity\Category``) +or the short alias name (as shown prior). + choice_label ~~~~~~~~~~~~ @@ -110,17 +118,33 @@ choice_label The ``choice_label`` option was introduced in Symfony 2.7. Prior to Symfony 2.7, it was called ``property`` (which has the same functionality). -**type**: ``string`` or a Closure +**type**: ``string`` or ``callable`` + +This is the property that should be used for displaying the entities as text in +the HTML element:: + + $builder->add('category', 'entity', array( + 'class' => 'AppBundle:Category', + 'choice_label' => 'displayName', + )); + +If left blank, the entity object will be cast to a string and so must have a ``__toString()`` +method. You can also pass a callback function for more control:: + + $builder->add('category', 'entity', array( + 'class' => 'AppBundle:Category', + 'choice_label' => function ($category) { + return $category->getDisplayName(); + } + )); -This is the property that should be used for displaying the entities -as text in the HTML element. If left blank, the entity object will be -cast into a string and so must have a ``__toString()`` method. If using Closure, it should -take a single argument, which is the entity and return the label of this entity. +The method is called for each entity in the list and passed to the function. For +more detais, see the main :ref:`choice_label ` documentation. .. note:: - The ``choice_label`` option is the property path used to display the option. - So you can use anything supported by the + When passing a string, the ``choice_label`` option is a property path. So you + can use anything supported by the :doc:`PropertyAccessor component ` For example, if the translations property is actually an associative @@ -131,36 +155,6 @@ take a single argument, which is the entity and return the label of this entity. 'choice_label' => 'translations[en].name', )); -class -~~~~~ - -**type**: ``string`` **required** - -The class of your entity (e.g. ``AcmeStoreBundle:Category``). This can be -a fully-qualified class name (e.g. ``Acme\StoreBundle\Entity\Category``) -or the short alias name (as shown prior). - -.. include:: /reference/forms/types/options/data_class.rst.inc - -em -~~ - -**type**: ``string`` | ``Doctrine\Common\Persistence\ObjectManager`` **default**: the default entity manager - -If specified, the specified entity manager will be used to load the choices -instead of the default entity manager. - -group_by -~~~~~~~~ - -**type**: ``string`` or a Closure - -This is a property path (e.g. ``author.name``) used to organize the -available choices in groups. It only works when rendered as a select tag -and does so by adding ``optgroup`` elements around options. Choices that -do not return a value for this property path are rendered directly under -the select tag, without a surrounding optgroup. - query_builder ~~~~~~~~~~~~~ @@ -172,18 +166,17 @@ either be a ``QueryBuilder`` object or a Closure. If using a Closure, it should take a single argument, which is the ``EntityRepository`` of the entity and return an instance of ``QueryBuilder``. -Overridden Options ------------------- +em +~~ -choice_list -~~~~~~~~~~~ +**type**: ``string`` | ``Doctrine\Common\Persistence\ObjectManager`` **default**: the default entity manager + +If specified, the specified entity manager will be used to load the choices +instead of the default entity manager. -**default**: :class:`Symfony\\Bridge\\Doctrine\\Form\\ChoiceList\\EntityChoiceList` -The purpose of the ``entity`` type is to create and configure this ``EntityChoiceList`` -for you, by using all of the above options. If you need to override this -option, you may just consider using the :doc:`/reference/forms/types/choice` -directly. +Overridden Options +------------------ choices ~~~~~~~ @@ -214,6 +207,8 @@ type: is a complete example in the cookbook article :doc:`/cookbook/form/form_collections`. +.. include:: /reference/forms/types/options/group_by.rst.inc + .. include:: /reference/forms/types/options/preferred_choices.rst.inc .. note:: diff --git a/reference/forms/types/form.rst b/reference/forms/types/form.rst index e9686c4a77e..66ba30ca19c 100644 --- a/reference/forms/types/form.rst +++ b/reference/forms/types/form.rst @@ -128,6 +128,8 @@ The actual default value of this option depends on other field options: .. include:: /reference/forms/types/options/post_max_size_message.rst.inc +.. _reference-form-option-property-path: + .. include:: /reference/forms/types/options/property_path.rst.inc .. include:: /reference/forms/types/options/read_only.rst.inc diff --git a/reference/forms/types/options/choice_attr.rst.inc b/reference/forms/types/options/choice_attr.rst.inc index a5f929ee72b..4b4d8f187ac 100644 --- a/reference/forms/types/options/choice_attr.rst.inc +++ b/reference/forms/types/options/choice_attr.rst.inc @@ -6,8 +6,9 @@ choice_attr **type**: ``array``, ``callable`` or ``string`` **default**: ``array()`` -Returns the additional HTML attributes for choices. Can be an array, a callable -(like for ``choice_label``) or a property path. +Use this to add additional HTML attributes to each choice. This can be an array +of attributes (if they are the same for each choice), a callable or a property path +(just like `choice_label`_). If an array, the keys of the ``choices`` array must be used as keys:: @@ -18,7 +19,8 @@ If an array, the keys of the ``choices`` array must be used as keys:: 'Maybe' => null, ), 'choices_as_values' => true, - 'choice_attr' => array( - 'Maybe' => array('class' => 'greyed-out'), - ), + 'choice_attr' => function($val, $key, $index) { + // adds a class like attending_yes, attending_no, etc + return ['class' => 'attending_'.strtolower($key)]; + }, )); diff --git a/reference/forms/types/options/choice_label.rst.inc b/reference/forms/types/options/choice_label.rst.inc index 73970631fdd..fbec1c9fce2 100644 --- a/reference/forms/types/options/choice_label.rst.inc +++ b/reference/forms/types/options/choice_label.rst.inc @@ -6,13 +6,9 @@ choice_label **type**: ``callable`` or ``string`` **default**: ``null`` -Returns the label for each choice. Can be a callable (which receives the -choice as first and the key of the ``choices`` array as second argument) -or a property path. - -If ``null``, the keys of the ``choices`` array are used as labels. - -* Using a callable to set the label:: +Normally, the array key of each item in the ``choices`` option is used as the +text that's shown to the user. The ``choice_label`` option allows you to take +more control:: $builder->add('attending', 'choice', array( 'choices' => array( @@ -21,18 +17,35 @@ If ``null``, the keys of the ``choices`` array are used as labels. 'maybe' => null, ), 'choices_as_values' => true, - 'choice_label' => function ($choice, $key) { - return 'form.choice.'.$key; + 'choice_label' => function ($value, $key, $index) { + if ($value == true) { + return 'Definitely!'; + } + return strtoupper($key); + + // or if you want to translate some key + //return 'form.choice.'.$key; }, )); -* Using a property path to set the label:: +This method is called for *each* choice, passing you the choice ``$value`` and the +``$key`` from the choices array (``$index`` is related to `choice_value`_). This +will give you: + +.. image:: /images/reference/form/choice-example2.png + :align: center + :scale: 50 + :width: 350 + +If your choice values are objects, then ``choice_label`` can also be a +:ref:`reference-form-option-property-path `. Imagine you have some +``Status`` class with a ``getDisplayName()`` method:: $builder->add('attending', 'choice', array( 'choices' => array( - Status::getInstance(Status::YES), - Status::getInstance(Status::NO), - Status::getInstance(Status::MAYBE), + new Status(Status::YES), + new Status(Status::NO), + new Status::(Status::MAYBE), ), 'choices_as_values' => true, 'choice_label' => 'displayName', diff --git a/reference/forms/types/options/choice_name.rst.inc b/reference/forms/types/options/choice_name.rst.inc index 6b0c108f61c..45a228489a3 100644 --- a/reference/forms/types/options/choice_name.rst.inc +++ b/reference/forms/types/options/choice_name.rst.inc @@ -6,13 +6,9 @@ choice_name **type**: ``callable`` or ``string`` **default**: ``null`` -Returns the form name for each choice. That name is used as name of the -checkbox/radio form for this choice. It is also used as index of the choice -views in the template. Can be a callable (like for ``choice_label``) or -a property path. +Controls the internal field name of the choice. You normally don't care about this, +but in some advanced cases, you might. For example, this "name" becomes the index +of the choice views in the template. -The generated names must be valid form names, i.e. contain alpha-numeric -symbols, underscores, hyphens and colons only. They must start with an -alpha-numeric symbol or an underscore. - -If ``null``, an incrementing integer is used as name. +This can be a callable or a property path. See `choice_label`_ for similar usage. +If ``null`` is used, an incrementing integer is used as the name. diff --git a/reference/forms/types/options/choice_value.rst.inc b/reference/forms/types/options/choice_value.rst.inc index 2f4feb94d84..653ce798b5d 100644 --- a/reference/forms/types/options/choice_value.rst.inc +++ b/reference/forms/types/options/choice_value.rst.inc @@ -6,8 +6,10 @@ choice_value **type**: ``callable`` or ``string`` **default**: ``null`` -Returns the string value for each choice. This value is displayed in the -``value`` attributes and submitted in the POST/PUT requests. Can be a -callable (like for ``choice_label``) or a property path. +Returns the string "value" for each choice. This is used in the ``value`` attribute +in HTML and submitted in the POST/PUT requests. You don't normally need to worry +about this, but it might be handy when processing an API request (since you can +configure the value that will be sent in the API request). -If ``null``, an incrementing integer is used as value. +This can be a callable or a property path. See `choice_label`_ for similar usage. +If ``null`` is used, an incrementing integer is used as the name. diff --git a/reference/forms/types/options/group_by.rst.inc b/reference/forms/types/options/group_by.rst.inc index a0c59b5effd..126bc5cc15c 100644 --- a/reference/forms/types/options/group_by.rst.inc +++ b/reference/forms/types/options/group_by.rst.inc @@ -6,24 +6,40 @@ group_by **type**: ``array``, ``callable`` or ``string`` **default**: ``null`` -Returns the grouping used for the choices. Can be an array/Traversable, -a callable (like for ``choice_label``) or a property path. +You can easily "group" options in a select simply by passing a multi-dimensional +array to ``choices``. See the :ref:`Grouping Options ` +section about that. -The return values of the callable/property path are used as group labels. -If ``null`` is returned, a choice is not grouped. +The ``group_by`` option is an alternative way to group choices, which gives you +a bit more flexibility. -If ``null``, the structure of the ``choices`` array is used to construct -the groups:: +Take the following example:: - $builder->add('attending', 'choice', array( + $builder->add('publishAt', 'choice', array( 'choices' => array( - 'Decided' => array( - 'Yes' => true, - 'No' => false, - ), - 'Undecided' => array( - 'Maybe' => null, - ), + 'now' => new \DateTime('now'), + 'tomorrow' => new \DateTime('+1 day'), + '1 week' => new \DateTime('+1 week'), + '1 month' => new \DateTime('+1 month') ), 'choices_as_values' => true, + 'group_by' => function($val, $key, $index) { + if ($val <= new \DateTime('+3 days')) { + return 'Soon'; + } else { + return 'Later'; + } + }, )); + +This groups the dates that are within 3 days into "Soon" and everyting else into +a "Later" group: + +.. image:: /images/reference/form/choice-example5.png + :align: center + :scale: 50 + :width: 350 + +If you return ``null``, the option won't be grouped. You can also pass a string +"property path" that will be called to get the group. See the `choice_label`_ for +details about using a property path. diff --git a/reference/forms/types/options/preferred_choices.rst.inc b/reference/forms/types/options/preferred_choices.rst.inc index 05f3c9be757..f241069262c 100644 --- a/reference/forms/types/options/preferred_choices.rst.inc +++ b/reference/forms/types/options/preferred_choices.rst.inc @@ -3,65 +3,64 @@ preferred_choices **type**: ``array``, ``callable`` or ``string`` **default**: ``array()`` -If this option is specified as an array, then a sub-set of all of the options -will be moved to the top of the select menu. The following would move the -"Yes" option to the top, with a visual separator between it and the rest -of the options:: +This option allows you to move certain choices to the top of your list with a visual +separator between them and the rest of the options. If you have a form of languages, +you can list the most popular on top, like Bork Bork and Pirate:: - $builder->add('attending', 'choice', array( + $builder->add('language', 'choice', array( 'choices' => array( - 'Yes' => true, - 'No' => false, - 'Maybe' => null, + 'English' => 'en', + 'Spanish' => 'es', + 'Bork' => 'muppets', + 'Pirate' => 'arr' ), 'choices_as_values' => true, - 'preferred_choices' => array(true), + 'preferred_choices' => array('muppets', 'arr') )); .. versionadded:: 2.7 Setting a callable or propery path was introduced in Symfony 2.7. -If this option is specified as a callable, then the the preferred options -are computed by the callback:: +This options can also be a callback function to give you more flexibility. This might +be especially useful if your values are objects:: - $builder->add('attending', 'choice', array( + $builder->add('publishAt', 'choice', array( 'choices' => array( - 'Yes' => true, - 'No' => false, - 'Maybe' => null, + 'now' => new \DateTime('now'), + 'tomorrow' => new \DateTime('+1 day'), + '1 week' => new \DateTime('+1 week'), + '1 month' => new \DateTime('+1 month') ), 'choices_as_values' => true, - 'preferred_choices' => function ($choice, $key) { - return true === $choice; + 'preferred_choices' => function ($val, $key) { + // prefer options within 3 days + return $val <= new \DateTime('+3 days'); }, )); -If this option is specified as a property path, then the preferred options -are taken from the objects:: +This will "prefer" the "now" and "tomorrow" choices only: - $builder->add('attending', 'choice', array( - 'choices' => array( - 'Yes' => Status::getInstance(Status::YES), - 'No' => Status::getInstance(Status::NO), - 'Maybe' => Status::getInstance(Status::MAYBE), - ), - 'choices_as_values' => true, - 'preferred_choices' => 'preferred', - )); +.. image:: /images/reference/form/choice-example3.png + :align: center + :scale: 50 + :width: 350 + +Finally, if your values are objects, you can also specific a property path string +on the object that will return true or false. -Note that preferred choices are only meaningful when rendering as a ``select`` -element (i.e. ``expanded`` is false). The preferred choices and normal choices -are separated visually by a set of dotted lines (i.e. ``-------------------``). -This can be customized when rendering the field: +The preferred choices are only meaningful when rendering a ``select`` element +(i.e. ``expanded`` false). The preferred choices and normal choices are separated +visually by a set of dotted lines (i.e. ``-------------------``). This can be customized +when rendering the field: .. configuration-block:: .. code-block:: jinja - {{ form_widget(form.foo_choices, { 'separator': '=====' }) }} + {{ form_widget(form.publishAt, { 'separator': '=====' }) }} .. code-block:: php - widget($form['foo_choices'], array( + widget($form['publishAt'], array( 'separator' => '=====' )) ?> From 5f6496132eca78416b5829c7be6c946cf803ca47 Mon Sep 17 00:00:00 2001 From: Ryan Weaver Date: Sun, 8 Nov 2015 19:02:52 -0500 Subject: [PATCH 10/14] fixing bad reference --- reference/forms/types/options/choice_label.rst.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/forms/types/options/choice_label.rst.inc b/reference/forms/types/options/choice_label.rst.inc index fbec1c9fce2..a7b1029ae34 100644 --- a/reference/forms/types/options/choice_label.rst.inc +++ b/reference/forms/types/options/choice_label.rst.inc @@ -38,7 +38,7 @@ will give you: :width: 350 If your choice values are objects, then ``choice_label`` can also be a -:ref:`reference-form-option-property-path `. Imagine you have some +:ref:`property path `. Imagine you have some ``Status`` class with a ``getDisplayName()`` method:: $builder->add('attending', 'choice', array( From 7af8171a3a8403aad8385d659dbf4d03233ef7e8 Mon Sep 17 00:00:00 2001 From: Ryan Weaver Date: Sun, 8 Nov 2015 19:37:40 -0500 Subject: [PATCH 11/14] removing scaling on images --- reference/forms/types/choice.rst | 4 ---- reference/forms/types/options/choice_label.rst.inc | 2 -- reference/forms/types/options/group_by.rst.inc | 2 -- reference/forms/types/options/preferred_choices.rst.inc | 2 -- 4 files changed, 10 deletions(-) diff --git a/reference/forms/types/choice.rst b/reference/forms/types/choice.rst index 9d89b6b1f4a..107fa110b86 100644 --- a/reference/forms/types/choice.rst +++ b/reference/forms/types/choice.rst @@ -66,8 +66,6 @@ This will create a ``select`` drop-down like this: .. image:: /images/reference/form/choice-example1.png :align: center - :scale: 50 - :width: 350 If the user selects ``No``, the form will return ``false`` for this field. Similarly, if the starting data for this field is ``true``, then ``Yes`` will be auto-selected. @@ -151,8 +149,6 @@ You can easily "group" options in a select by passing a multi-dimensional choice .. image:: /images/reference/form/choice-example3.png :align: center - :scale: 50 - :width: 350 To get fancier, use the `group_by`_ option. diff --git a/reference/forms/types/options/choice_label.rst.inc b/reference/forms/types/options/choice_label.rst.inc index a7b1029ae34..d2ebb176906 100644 --- a/reference/forms/types/options/choice_label.rst.inc +++ b/reference/forms/types/options/choice_label.rst.inc @@ -34,8 +34,6 @@ will give you: .. image:: /images/reference/form/choice-example2.png :align: center - :scale: 50 - :width: 350 If your choice values are objects, then ``choice_label`` can also be a :ref:`property path `. Imagine you have some diff --git a/reference/forms/types/options/group_by.rst.inc b/reference/forms/types/options/group_by.rst.inc index 126bc5cc15c..2cb16818d29 100644 --- a/reference/forms/types/options/group_by.rst.inc +++ b/reference/forms/types/options/group_by.rst.inc @@ -37,8 +37,6 @@ a "Later" group: .. image:: /images/reference/form/choice-example5.png :align: center - :scale: 50 - :width: 350 If you return ``null``, the option won't be grouped. You can also pass a string "property path" that will be called to get the group. See the `choice_label`_ for diff --git a/reference/forms/types/options/preferred_choices.rst.inc b/reference/forms/types/options/preferred_choices.rst.inc index f241069262c..900ee17cd40 100644 --- a/reference/forms/types/options/preferred_choices.rst.inc +++ b/reference/forms/types/options/preferred_choices.rst.inc @@ -42,8 +42,6 @@ This will "prefer" the "now" and "tomorrow" choices only: .. image:: /images/reference/form/choice-example3.png :align: center - :scale: 50 - :width: 350 Finally, if your values are objects, you can also specific a property path string on the object that will return true or false. From 7650b36be33de2ed30160625197e320efa0f8f7c Mon Sep 17 00:00:00 2001 From: Ryan Weaver Date: Sun, 8 Nov 2015 19:45:20 -0500 Subject: [PATCH 12/14] fixing wrong image name --- reference/forms/types/choice.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/forms/types/choice.rst b/reference/forms/types/choice.rst index 107fa110b86..161708654f2 100644 --- a/reference/forms/types/choice.rst +++ b/reference/forms/types/choice.rst @@ -147,7 +147,7 @@ You can easily "group" options in a select by passing a multi-dimensional choice 'choices_as_values' => true, ); -.. image:: /images/reference/form/choice-example3.png +.. image:: /images/reference/form/choice-example4.png :align: center To get fancier, use the `group_by`_ option. From b2a8a149da3af698e3ab5f299c17b8ea78214416 Mon Sep 17 00:00:00 2001 From: Ryan Weaver Date: Tue, 10 Nov 2015 20:25:30 -0500 Subject: [PATCH 13/14] tweaks thanks to comments --- reference/forms/types/choice.rst | 8 +++++--- reference/forms/types/entity.rst | 4 ++-- reference/forms/types/options/choice_value.rst.inc | 8 ++++++++ reference/forms/types/options/group_by.rst.inc | 2 +- 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/reference/forms/types/choice.rst b/reference/forms/types/choice.rst index 161708654f2..20d8f2af519 100644 --- a/reference/forms/types/choice.rst +++ b/reference/forms/types/choice.rst @@ -189,10 +189,12 @@ to the user. $builder->add('gender', 'choice', array( // Shows "Male" to the user, returns "m" when selected 'choices' => array('m' => 'Male', 'f' => 'Female'), + // before 2.7, this options didn't actually exist, but the + // behavior was equivalent to setting this to false in 2.7. 'choices_as_values' => false, )); -* Optional since 2.7:: +* Since 2.7:: $builder->add('gender', 'choice', array( // Shows "Male" to the user, returns "m" when selected @@ -200,8 +202,8 @@ to the user. 'choices_as_values' => true, )); -In Symfony 3.0, ``choices_as_values`` option will go away, but it's behavior will -always be used: +In Symfony 3.0, the ``choices_as_values`` option doesn't exist, but the ``choice`` +type behaves as if it were set to true: * Default for 3.0:: diff --git a/reference/forms/types/entity.rst b/reference/forms/types/entity.rst index 0f769b1ee51..01ce0f7862d 100644 --- a/reference/forms/types/entity.rst +++ b/reference/forms/types/entity.rst @@ -171,8 +171,8 @@ em **type**: ``string`` | ``Doctrine\Common\Persistence\ObjectManager`` **default**: the default entity manager -If specified, the specified entity manager will be used to load the choices -instead of the default entity manager. +If specified, this entity manager will be used to load the choices +instead of the ``default`` entity manager. Overridden Options diff --git a/reference/forms/types/options/choice_value.rst.inc b/reference/forms/types/options/choice_value.rst.inc index 653ce798b5d..f6574cf4de9 100644 --- a/reference/forms/types/options/choice_value.rst.inc +++ b/reference/forms/types/options/choice_value.rst.inc @@ -13,3 +13,11 @@ configure the value that will be sent in the API request). This can be a callable or a property path. See `choice_label`_ for similar usage. If ``null`` is used, an incrementing integer is used as the name. + +.. caution:: + + In Symfony 2.7, there was a small backwards-compatibility break with how the + `value` attribute of options is generated. This is not a problem unless you + rely on the option values in JavaScript. See `issue #14825`_ for details. + +.. _`issue #14285`: https://github.com/symfony/symfony/pull/14825 diff --git a/reference/forms/types/options/group_by.rst.inc b/reference/forms/types/options/group_by.rst.inc index 2cb16818d29..9147a0a09bf 100644 --- a/reference/forms/types/options/group_by.rst.inc +++ b/reference/forms/types/options/group_by.rst.inc @@ -32,7 +32,7 @@ Take the following example:: }, )); -This groups the dates that are within 3 days into "Soon" and everyting else into +This groups the dates that are within 3 days into "Soon" and everything else into a "Later" group: .. image:: /images/reference/form/choice-example5.png From 0d51d4a846d61280dd800e3dcb47bb1026045d36 Mon Sep 17 00:00:00 2001 From: Ryan Weaver Date: Tue, 10 Nov 2015 20:28:27 -0500 Subject: [PATCH 14/14] typo! --- reference/forms/types/options/choice_value.rst.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/forms/types/options/choice_value.rst.inc b/reference/forms/types/options/choice_value.rst.inc index f6574cf4de9..fda5a4e7542 100644 --- a/reference/forms/types/options/choice_value.rst.inc +++ b/reference/forms/types/options/choice_value.rst.inc @@ -20,4 +20,4 @@ If ``null`` is used, an incrementing integer is used as the name. `value` attribute of options is generated. This is not a problem unless you rely on the option values in JavaScript. See `issue #14825`_ for details. -.. _`issue #14285`: https://github.com/symfony/symfony/pull/14825 +.. _`issue #14825`: https://github.com/symfony/symfony/pull/14825