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|null
Prefix for id attribute.
array<string>
A list of id suffixes used in the current rendering.
Cake\View\Widget\LabelWidget
Label widget instance.
Cake\View\StringTemplate
StringTemplate 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.
string
secureFields(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|null
A list of id suffixes used in the current rendering.
array<string>
Label widget instance.
Cake\View\Widget\LabelWidget
StringTemplate instance.
Cake\View\StringTemplate
Data 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