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|nullPrefix for id attribute.
-
$_idSuffixes protected
string[]A list of id suffixes used in the current rendering.
-
$_label protected
Cake\View\Widget\LabelWidgetLabel widget instance.
-
$_templates protected
Cake\View\StringTemplateStringTemplate instance.
-
$defaults protected
arrayData 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:
checkboxRenders checkbox input controls. Accepts thename,valueandattrsvariables.checkboxWrapperRenders the containing div/element for a checkbox and its label. Accepts theinput, andlabelvariables.multicheckboxWrapperRenders a wrapper around grouped inputs.multicheckboxTitleRenders 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, string[]|string|int|false|null $selected): bool
Helper method for deciding what options are selected.
Parameters
string$key-
The key to test.
string[]|string|int|false|null$selected-
The selected values.
Returns
bool_renderInput() protected
_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_renderInputs() protected
_renderInputs(array $data, Cake\View\Form\ContextInterface $context): string[]
Render the checkbox inputs.
Parameters
array$data-
The data array defining the checkboxes.
Cake\View\Form\ContextInterface$context-
The current form context.
Returns
string[]mergeDefaults() protected
mergeDefaults(array $data, Cake\View\Form\ContextInterface $context): array
Merge default values with supplied data.
Parameters
array$data-
Data array
Cake\View\Form\ContextInterface$context-
Context instance.
Returns
arrayrender() public
render(array $data, Cake\View\Form\ContextInterface $context): string
Render multi-checkbox widget.
Data supports the following options.
nameThe name attribute of the inputs to create.[]will be appended to the name.optionsAn array of options to create checkboxes out of.valEither a string/integer or array of values that should be checked. Can also be a complex options set.disabledEither a boolean or an array of checkboxes to disable.escapeSet to false to disable HTML escaping.optionsAn associative array of value=>labels to generate options for.idPrefixPrefix 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
stringsecureFields() public
secureFields(array $data): string[]
Returns a list of fields that need to be secured for this widget.
Parameters
array$data
Returns
string[]setMaxLength() protected
setMaxLength(array $data, Cake\View\Form\ContextInterface $context, string $fieldName): array
Set value for "maxlength" attribute if applicable.
Parameters
array$data-
Data array
Cake\View\Form\ContextInterface$context-
Context instance.
string$fieldName-
Field name.
Returns
arraysetRequired() protected
setRequired(array $data, Cake\View\Form\ContextInterface $context, string $fieldName): array
Set value for "required" attribute if applicable.
Parameters
array$data-
Data array
Cake\View\Form\ContextInterface$context-
Context instance.
string$fieldName-
Field name.
Returns
arraysetStep() protected
setStep(array $data, Cake\View\Form\ContextInterface $context, string $fieldName): array
Set value for "step" attribute if applicable.
Parameters
array$data-
Data array
Cake\View\Form\ContextInterface$context-
Context instance.
string$fieldName-
Field name.
Returns
arrayProperty Detail
$_idPrefix protected
Prefix for id attribute.
Type
string|null$_idSuffixes protected
A list of id suffixes used in the current rendering.
Type
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© 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.2/class-Cake.View.Widget.MultiCheckboxWidget.html