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
Method Detail
__constructsource 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.
_isDisabledsource protected
_isDisabled( array $radio , array|null|true $disabled )
Disabled attribute detection.
Parameters
- array
$radio - Radio info.
- array|null|true
$disabled - The disabled values.
Returns
booleanbool
_renderInputsource 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
stringstring
_renderLabelsource 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
stringGenerated label.
rendersource 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
stringstring
Implementation of
Cake\View\Widget\WidgetInterface::render() secureFieldssource 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
arrayArray of fields to secure.
Implementation of
Cake\View\Widget\WidgetInterface::secureFields() Methods used from Cake\View\Helper\IdGeneratorTrait
_domIdsource protected
_domId( string $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.
_idsource protected
_id( string $name , string $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.
Properties summary
Properties used from Cake\View\Helper\IdGeneratorTrait
© 2005–2016 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.
http://api.cakephp.org/3.1/class-Cake.View.Widget.RadioWidget.html