\Cake\View\WidgetRadioWidget

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.

Summary

Methods
Properties
Constants
__construct()
render()
secureFields()
No public properties found
No constants found
_clearIds()
_id()
_domId()
_isDisabled()
_renderInput()
_renderLabel()
$_idPrefix
$_idSuffixes
$_templates
$_label
N/A
No private methods found
No private properties found
N/A

Properties

$_idPrefix

$_idPrefix : string|null

Prefix for id attribute.

Type

string|null

$_idSuffixes

$_idSuffixes : array

A list of id suffixes used in the current rendering.

Type

array

Methods

__construct()

__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.

Parameters

\Cake\View\StringTemplate $templates

Templates list.

\Cake\View\Widget\LabelWidget $label

Label widget instance.

render()

render(array  $data, \Cake\View\Form\ContextInterface  $context) : string

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

string

secureFields()

secureFields(array  $data) : array

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 —

Array of fields to secure.

_clearIds()

_clearIds() : void

Clear the stored ID suffixes.

_id()

_id(string  $name, string  $val) : string

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

string —

Generated id.

_domId()

_domId(string  $value) : string

Generate an ID suitable for use in an ID attribute.

Parameters

string $value

The value to convert into an ID.

Returns

string —

The generated id.

_isDisabled()

_isDisabled(array  $radio, array|null|true  $disabled) : boolean

Disabled attribute detection.

Parameters

array $radio

Radio info.

array|null|true $disabled

The disabled values.

Returns

boolean

_renderInput()

_renderInput(string|integer  $val, string|array  $text, array  $data, \Cake\View\Form\ContextInterface  $context) : string

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

string

_renderLabel()

_renderLabel(array  $radio, false|string|array  $label, string  $input, \Cake\View\Form\ContextInterface  $context, boolean  $escape) : string|boolean

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

string|boolean —

Generated label.