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.
string|nullPrefix for id attribute.
array<string>A list of id suffixes used in the current rendering.
Cake\View\Widget\LabelWidgetLabel widget instance.
Cake\View\StringTemplateStringTemplate instance.
array<string, mixed>Data defaults.
Render multi-checkbox widget.
Clear the stored ID suffixes.
Generate an ID suitable for use in an ID attribute.
Generate an ID attribute for an element.
Generate an ID suffix.
Helper method for deciding what options are disabled.
Helper method for deciding what options are selected.
Render a single checkbox & wrapper.
Render the checkbox inputs.
Merge default values with supplied data.
Render multi-checkbox widget.
Returns a list of fields that need to be secured for this widget.
Set value for "maxlength" attribute if applicable.
Set value for "required" attribute if applicable.
Set value for "step" attribute if applicable.
__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.Cake\View\StringTemplate $templates Templates list.
Cake\View\Widget\LabelWidget $label Label widget instance.
_clearIds(): void
Clear the stored ID suffixes.
void_domId(string $value): string
Generate an ID suitable for use in an ID attribute.
string $value The value to convert into an ID.
string_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.
string $name The ID attribute name.
string $val The ID attribute value.
string_idSuffix(string $val): string
Generate an ID suffix.
Ensures that id's for a given set of fields are unique.
string $val The ID attribute value.
string_isDisabled(string $key, mixed $disabled): bool
Helper method for deciding what options are disabled.
string $key The key to test.
mixed $disabled The disabled values.
bool_isSelected(string $key, array<string>|string|int|false|null $selected): bool
Helper method for deciding what options are selected.
string $key The key to test.
array<string>|string|int|false|null $selected The selected values.
bool_renderInput(array<string, mixed> $checkbox, Cake\View\Form\ContextInterface $context): string
Render a single checkbox & wrapper.
array<string, mixed> $checkbox An array containing checkbox key/value option pairs
Cake\View\Form\ContextInterface $context Context object.
string_renderInputs(array<string, mixed> $data, Cake\View\Form\ContextInterface $context): array<string>
Render the checkbox inputs.
array<string, mixed> $data The data array defining the checkboxes.
Cake\View\Form\ContextInterface $context The current form context.
array<string>mergeDefaults(array<string, mixed> $data, Cake\View\Form\ContextInterface $context): array<string, mixed>
Merge default values with supplied data.
array<string, mixed> $data Data array
Cake\View\Form\ContextInterface $context Context instance.
array<string, mixed>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.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.
array<string, mixed> $data The data to generate a checkbox set with.
Cake\View\Form\ContextInterface $context The current form context.
stringsecureFields(array<string, mixed> $data): array<string>
Returns a list of fields that need to be secured for this widget.
array<string, mixed> $data array<string>setMaxLength(array<string, mixed> $data, Cake\View\Form\ContextInterface $context, string $fieldName): array<string, mixed>
Set value for "maxlength" attribute if applicable.
array<string, mixed> $data Data array
Cake\View\Form\ContextInterface $context Context instance.
string $fieldName Field name.
array<string, mixed>setRequired(array<string, mixed> $data, Cake\View\Form\ContextInterface $context, string $fieldName): array<string, mixed>
Set value for "required" attribute if applicable.
array<string, mixed> $data Data array
Cake\View\Form\ContextInterface $context Context instance.
string $fieldName Field name.
array<string, mixed>setStep(array<string, mixed> $data, Cake\View\Form\ContextInterface $context, string $fieldName): array<string, mixed>
Set value for "step" attribute if applicable.
array<string, mixed> $data Data array
Cake\View\Form\ContextInterface $context Context instance.
string $fieldName Field name.
array<string, mixed>Prefix for id attribute.
string|nullA list of id suffixes used in the current rendering.
array<string>Label widget instance.
Cake\View\Widget\LabelWidgetStringTemplate instance.
Cake\View\StringTemplateData defaults.
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