On this page
Class MultiCheckboxWidget
Input widget class for generating multiple checkboxes.
This class is usually used internally by Cake\View\Helper\FormHelper
, it but can be used to generate standalone multiple checkboxes.
Property Summary
-
$_idPrefix protected
string|null
Prefix for id attribute.
-
$_idSuffixes protected
array<string>
A list of id suffixes used in the current rendering.
-
$_label protected
Cake\View\Widget\LabelWidget
Label widget instance.
-
$_templates protected
Cake\View\StringTemplate
StringTemplate instance.
-
$defaults protected
array<string, mixed>
Data defaults.
Method Summary
__construct() public
Render multi-checkbox widget.
_clearIds() protected
Clear the stored ID suffixes.
_domId() protected
Generate an ID suitable for use in an ID attribute.
_id() protected
Generate an ID attribute for an element.
_idSuffix() protected
Generate an ID suffix.
_isDisabled() protected
Helper method for deciding what options are disabled.
_isSelected() protected
Helper method for deciding what options are selected.
_renderInput() protected
Render a single checkbox & wrapper.
_renderInputs() protected
Render the checkbox inputs.
mergeDefaults() protected
Merge default values with supplied data.
render() public
Render multi-checkbox widget.
secureFields() public
Returns a list of fields that need to be secured for this widget.
setMaxLength() protected
Set value for "maxlength" attribute if applicable.
setRequired() protected
Set value for "required" attribute if applicable.
setStep() protected
Set value for "step" attribute if applicable.
Method Detail
__construct() public
__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 thename
,value
andattrs
variables.checkboxWrapper
Renders the containing div/element for a checkbox and its label. Accepts theinput
, andlabel
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.
_clearIds() protected
_clearIds(): void
Clear the stored ID suffixes.
Returns
void
_domId() protected
_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
_id() protected
_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
_idSuffix() protected
_idSuffix(string $val): string
Generate an ID suffix.
Ensures that id's for a given set of fields are unique.
Parameters
string
$val-
The ID attribute value.
Returns
string
_isDisabled() protected
_isDisabled(string $key, mixed $disabled): bool
Helper method for deciding what options are disabled.
Parameters
string
$key-
The key to test.
mixed
$disabled-
The disabled values.
Returns
bool
_isSelected() protected
_isSelected(string $key, array<string>|string|int|false|null $selected): bool
Helper method for deciding what options are selected.
Parameters
string
$key-
The key to test.
array<string>|string|int|false|null
$selected-
The selected values.
Returns
bool
_renderInput() protected
_renderInput(array<string, mixed> $checkbox, Cake\View\Form\ContextInterface $context): string
Render a single checkbox & wrapper.
Parameters
array<string, mixed>
$checkbox-
An array containing checkbox key/value option pairs
Cake\View\Form\ContextInterface
$context-
Context object.
Returns
string
_renderInputs() protected
_renderInputs(array<string, mixed> $data, Cake\View\Form\ContextInterface $context): array<string>
Render the checkbox inputs.
Parameters
array<string, mixed>
$data-
The data array defining the checkboxes.
Cake\View\Form\ContextInterface
$context-
The current form context.
Returns
array<string>
mergeDefaults() protected
mergeDefaults(array<string, mixed> $data, Cake\View\Form\ContextInterface $context): array<string, mixed>
Merge default values with supplied data.
Parameters
array<string, mixed>
$data-
Data array
Cake\View\Form\ContextInterface
$context-
Context instance.
Returns
array<string, mixed>
render() public
render(array<string, mixed> $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<string, mixed>
$data-
The data to generate a checkbox set with.
Cake\View\Form\ContextInterface
$context-
The current form context.
Returns
string
secureFields() public
secureFields(array<string, mixed> $data): array<string>
Returns a list of fields that need to be secured for this widget.
Parameters
array<string, mixed>
$data
Returns
array<string>
setMaxLength() protected
setMaxLength(array<string, mixed> $data, Cake\View\Form\ContextInterface $context, string $fieldName): array<string, mixed>
Set value for "maxlength" attribute if applicable.
Parameters
array<string, mixed>
$data-
Data array
Cake\View\Form\ContextInterface
$context-
Context instance.
string
$fieldName-
Field name.
Returns
array<string, mixed>
setRequired() protected
setRequired(array<string, mixed> $data, Cake\View\Form\ContextInterface $context, string $fieldName): array<string, mixed>
Set value for "required" attribute if applicable.
Parameters
array<string, mixed>
$data-
Data array
Cake\View\Form\ContextInterface
$context-
Context instance.
string
$fieldName-
Field name.
Returns
array<string, mixed>
setStep() protected
setStep(array<string, mixed> $data, Cake\View\Form\ContextInterface $context, string $fieldName): array<string, mixed>
Set value for "step" attribute if applicable.
Parameters
array<string, mixed>
$data-
Data array
Cake\View\Form\ContextInterface
$context-
Context instance.
string
$fieldName-
Field name.
Returns
array<string, mixed>
Property Detail
$_idPrefix protected
Prefix for id attribute.
Type
string|null
$_idSuffixes protected
A list of id suffixes used in the current rendering.
Type
array<string>
$_label protected
Label widget instance.
Type
Cake\View\Widget\LabelWidget
$_templates protected
StringTemplate instance.
Type
Cake\View\StringTemplate
$defaults protected
Data defaults.
Type
array<string, mixed>
© 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.4/class-Cake.View.Widget.MultiCheckboxWidget.html