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
-
$_label
protectedLabel instance. -
$_templates
protectedTemplate 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:
radio
Used to generate the input for a radio button. Can use the following variablesname
,value
,attrs
.radioWrapper
Used to generate the container element for the radio + input element. Can use theinput
andlabel
variables.
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.idPrefix
Prefix 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.