Class RadioWidget
Input widget class for generating a set of radio buttons.
This class is intended as an internal implementation detail of Cake\View\Helper\FormHelper and is not intended for direct use.
Properties summary
- $_idPrefix protected
string|nullPrefix for id attribute.
- $_idSuffixes protected
string[]A list of id suffixes used in the current rendering.
- $_label protected
\Cake\View\Widget\LabelWidgetLabel instance.
- $_templates protected
\Cake\View\StringTemplateTemplate instance.
Method Summary
- secureFields() public
Returns a list of fields that need to be secured for this widget. Fields are in the form of Model[field][suffix]
Method Detail
__construct() public
__construct(mixed $templates, mixed $label)
Constructor
This class uses a few templates:
-
radioUsed to generate the input for a radio button. Can use the following variablesname,value,attrs. -
radioWrapperUsed to generate the container element for the radio + input element. Can use theinputandlabelvariables.
Parameters
-
\Cake\View\StringTemplate$templates Templates list.
-
\Cake\View\Widget\LabelWidget$label Label widget instance.
_clearIds() protected
_clearIds()
Clear the stored ID suffixes.
_domId() protected
_domId(mixed $value)
Generate an ID suitable for use in an ID attribute.
Parameters
-
string$value The value to convert into an ID.
Returns
stringThe generated id.
_id() protected
_id(mixed $name, mixed $val)
Generate an ID attribute for an element.
Ensures that id's for a given set of fields are unique.
Parameters
-
string$name The ID attribute name.
-
string$val The ID attribute value.
Returns
stringGenerated id.
_idSuffix() protected
_idSuffix(mixed $val)
Generate an ID suffix.
Ensures that id's for a given set of fields are unique.
Parameters
-
string$val The ID attribute value.
Returns
stringGenerated id suffix.
_isDisabled() protected
_isDisabled(mixed $radio, mixed $disabled)
Disabled attribute detection.
Parameters
-
array$radio Radio info.
-
array|true|null$disabled The disabled values.
Returns
bool_renderInput() protected
_renderInput(mixed $val, mixed $text, mixed $data, mixed $context)
Renders a single radio input and label.
Parameters
-
string|int$val The value of the radio input.
-
string|array$text The label text, or complex radio type.
-
array$data Additional options for input generation.
-
\Cake\View\Form\ContextInterface$context The form context
Returns
string_renderLabel() protected
_renderLabel(mixed $radio, mixed $label, mixed $input, mixed $context, mixed $escape)
Renders a label element for a given radio button.
In the future this might be refactored into a separate widget as other input types (multi-checkboxes) will also need labels generated.
Parameters
-
array$radio The input properties.
-
array|string|false$label The properties for a label.
-
string$input The input widget.
-
\Cake\View\Form\ContextInterface$context The form context.
-
bool$escape Whether or not to HTML escape the label.
Returns
string|boolGenerated label.
render() public
render(array $data, \Cake\View\Form\ContextInterface $context)
Render a set of radio buttons.
Data supports the following keys:
-
name- Set the input name. -
options- An array of options. See below for more information. -
disabled- Either true or an array of inputs to disable. When true, the select element will be disabled. -
val- A string of the option to mark as selected. -
label- Either false to disable label generation, or an array of attributes for all labels. -
required- Set to true to add the required attribute on all generated radios. -
idPrefixPrefix for generated ID attributes.
Parameters
-
array$data The data to build radio buttons with.
-
\Cake\View\Form\ContextInterface$context The current form context.
Returns
stringsecureFields() public
secureFields(array $data)
Returns a list of fields that need to be secured for this widget. Fields are in the form of Model[field][suffix]
Parameters
-
array$data The data to render.
Returns
string[]Array of fields to secure.
Property Detail
$_idPrefix protected
Prefix for id attribute.
Type
string|null$_idSuffixes protected
A list of id suffixes used in the current rendering.
Type
string[]$_label protected
Label instance.
Type
\Cake\View\Widget\LabelWidget$_templates protected
Template instance.
Type
\Cake\View\StringTemplate
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/3.9/class-Cake.View.Widget.RadioWidget.html