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.
- Cake\View\Widget\RadioWidget implements Cake\View\Widget\WidgetInterface uses Cake\View\Helper\IdGeneratorTrait
Properties summary
-
$_labelprotectedLabel instance. -
$_templatesprotectedTemplate instance.
Inherited Properties
Method Summary
-
__construct() public
Constructor -
_isDisabled() protected
Disabled attribute detection. -
_renderInput() protected
Renders a single radio input and label. -
_renderLabel() protected
Renders a label element for a given radio button. -
render() public
Render a set of radio buttons. -
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( Cake\View\StringTemplate $templates , Cake\View\Widget\LabelWidget $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.
_isDisabled() protected ¶
_isDisabled( array $radio , array|null|true $disabled )
Disabled attribute detection.
Parameters
- array $radio
- Radio info.
- array|null|true $disabled
- The disabled values.
Returns
_renderInput() protected ¶
_renderInput( string|integer $val , string|array $text , array $data , Cake\View\Form\ContextInterface $context )
Renders a single radio input and label.
Parameters
- string|integer $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
_renderLabel() protected ¶
_renderLabel( array $radio , false|string|array $label , string $input , Cake\View\Form\ContextInterface $context , boolean $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.
- false|string|array $label
- The properties for a label.
- string $input
- The input widget.
-
Cake\View\Form\ContextInterface$context - The form context.
- boolean $escape
- Whether or not to HTML escape the label.
Returns
Generated 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
Implementation of
secureFields() 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
Array of fields to secure.