Input widget class for generating a set of radio buttons.
This class is usually used internally by Cake\View\Helper\FormHelper
, it but can be used to generate standalone radio buttons.
string|null
Prefix for id attribute.
string[]
A list of id suffixes used in the current rendering.
\Cake\View\Widget\LabelWidget
Label instance.
\Cake\View\StringTemplate
StringTemplate instance.
array
Data defaults.
__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 variables name
, value
, attrs
.radioWrapper
Used to generate the container element for the radio + input element. Can use the input
and label
variables.\Cake\View\StringTemplate
$templates Templates list.
\Cake\View\Widget\LabelWidget
$label Label widget instance.
_clearIds()
Clear the stored ID suffixes.
_domId(string $value)
Generate an ID suitable for use in an ID attribute.
string
$value The value to convert into an ID.
string
The generated id.
_id(string $name, string $val)
Generate an ID attribute for an element.
Ensures that id's for a given set of fields are unique.
string
$name The ID attribute name.
string
$val The ID attribute value.
string
Generated id.
_idSuffix(string $val)
Generate an ID suffix.
Ensures that id's for a given set of fields are unique.
string
$val The ID attribute value.
string
Generated id suffix.
_isDisabled(array $radio, mixed $disabled)
Disabled attribute detection.
array
$radio Radio info.
array|true|null
$disabled The disabled values.
bool
_renderInput(mixed $val, mixed $text, mixed $data, mixed $context)
Renders a single radio input and label.
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
string
_renderLabel(array $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.
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.
string|false
Generated label.
mergeDefaults(array $data, \Cake\View\Form\ContextInterface $context)
Merge default values with supplied data.
array
$data Data array
\Cake\View\Form\ContextInterface
$context Context instance.
array
Updated data array.
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.array
$data The data to build radio buttons with.
\Cake\View\Form\ContextInterface
$context The current form context.
string
secureFields(array $data)
Returns a list of fields that need to be secured for this widget.
array
$data The data to render.
string[]
Array of fields to secure.
setMaxLength(array $data, \Cake\View\Form\ContextInterface $context, string $fieldName)
Set value for "maxlength" attribute if applicable.
array
$data Data array
\Cake\View\Form\ContextInterface
$context Context instance.
string
$fieldName Field name.
array
Updated data array.
setRequired(array $data, \Cake\View\Form\ContextInterface $context, string $fieldName)
Set value for "required" attribute if applicable.
array
$data Data array
\Cake\View\Form\ContextInterface
$context Context instance.
string
$fieldName Field name.
array
Updated data array.
setStep(array $data, \Cake\View\Form\ContextInterface $context, string $fieldName)
Set value for "step" attribute if applicable.
array
$data Data array
\Cake\View\Form\ContextInterface
$context Context instance.
string
$fieldName Field name.
array
Updated data array.
Prefix for id attribute.
string|null
A list of id suffixes used in the current rendering.
string[]
Label instance.
\Cake\View\Widget\LabelWidget
StringTemplate instance.
\Cake\View\StringTemplate
Data defaults.
array
© 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/4.1/class-Cake.View.Widget.RadioWidget.html