\Cake\View\WidgetMultiCheckboxWidget

Input widget class for generating multiple checkboxes.

Summary

Methods
Properties
Constants
__construct()
render()
secureFields()
No public properties found
No constants found
_clearIds()
_id()
_domId()
_renderInputs()
_renderInput()
_isSelected()
_isDisabled()
$_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) 

Render multi-checkbox widget.

This class uses the following templates:

  • checkbox Renders checkbox input controls. Accepts the name, value and attrs variables.
  • checkboxWrapper Renders the containing div/element for a checkbox and its label. Accepts the input, and label variables.
  • multicheckboxWrapper Renders a wrapper around grouped inputs.
  • multicheckboxTitle Renders the title element for grouped inputs.

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 multi-checkbox widget.

Data supports the following options.

  • name The name attribute of the inputs to create. [] will be appended to the name.
  • options An array of options to create checkboxes out of.
  • val Either a string/integer or array of values that should be checked. Can also be a complex options set.
  • disabled Either a boolean or an array of checkboxes to disable.
  • escape Set to false to disable HTML escaping.
  • options An associative array of value=>labels to generate options for.
  • idPrefix Prefix for generated ID attributes.

Options format

The options option can take a variety of data format depending on the complexity of HTML you want generated.

You can generate simple options using a basic associative array:

'options' => ['elk' => 'Elk', 'beaver' => 'Beaver']

If you need to define additional attributes on your option elements you can use the complex form for options:

'options' => [
  ['value' => 'elk', 'text' => 'Elk', 'data-foo' => 'bar'],
]

This form requires that both the value and text keys be defined. If either is not set options will not be generated correctly.

Parameters

array $data

The data to generate a checkbox set 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.

_renderInputs()

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

Render the checkbox inputs.

Parameters

array $data

The data array defining the checkboxes.

\Cake\View\Form\ContextInterface $context

The current form context.

Returns

array —

An array of rendered inputs.

_renderInput()

_renderInput(array  $checkbox, \Cake\View\Form\ContextInterface  $context) : string

Render a single checkbox & wrapper.

Parameters

array $checkbox

An array containing checkbox key/value option pairs

\Cake\View\Form\ContextInterface $context

Context object.

Returns

string

_isSelected()

_isSelected(string  $key, array|string|null  $selected) : boolean

Helper method for deciding what options are selected.

Parameters

string $key

The key to test.

array|string|null $selected

The selected values.

Returns

boolean

_isDisabled()

_isDisabled(string  $key, array|boolean|null  $disabled) : boolean

Helper method for deciding what options are disabled.

Parameters

string $key

The key to test.

array|boolean|null $disabled

The disabled values.

Returns

boolean