Class MultiCheckboxWidget
Input widget class for generating multiple checkboxes.
Property Summary
- 
        $_idPrefix protectedstring|nullPrefix for id attribute. 
- 
        $_idSuffixes protectedarrayA list of id suffixes used in the current rendering. 
- 
        $_label protectedCake\View\Widget\LabelWidgetLabel widget instance. 
- 
        $_templates protectedCake\View\StringTemplateTemplate instance to use. 
Method Summary
- 
          __construct() publicRender multi-checkbox widget. 
- 
          _clearIds() protectedClear the stored ID suffixes. 
- 
          _domId() protectedGenerate an ID suitable for use in an ID attribute. 
- 
          _id() protectedGenerate an ID attribute for an element. 
- 
          _isDisabled() protectedHelper method for deciding what options are disabled. 
- 
          _isSelected() protectedHelper method for deciding what options are selected. 
- 
          _renderInput() protectedRender a single checkbox & wrapper. 
- 
          _renderInputs() protectedRender the checkbox inputs. 
- 
          render() publicRender multi-checkbox widget. 
- 
          secureFields() publicReturns a list of fields that need to be secured for this widget. Fields are in the form of Model[field][suffix] 
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 the- name,- valueand- attrsvariables.
- checkboxWrapperRenders the containing div/element for a checkbox and its label. Accepts the- input, and- labelvariables.
- 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. 
_domId() ¶ protected
_domId(string $value): stringGenerate an ID suitable for use in an ID attribute.
Parameters
- 
                string$value
- The value to convert into an ID. 
Returns
stringThe generated id.
_id() ¶ protected
_id(string $name, string $val): stringGenerate 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
stringGenerated id.
_isDisabled() ¶ protected
_isDisabled(string $key, array|bool|null $disabled): boolHelper method for deciding what options are disabled.
Parameters
- 
                string$key
- The key to test. 
- 
                array|bool|null$disabled
- The disabled values. 
Returns
bool_isSelected() ¶ protected
_isSelected(string $key, array|string|null $selected): boolHelper method for deciding what options are selected.
Parameters
- 
                string$key
- The key to test. 
- 
                array|string|null$selected
- The selected values. 
Returns
bool_renderInput() ¶ protected
_renderInput(array $checkbox, Cake\View\Form\ContextInterface $context): stringRender 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): arrayRender the checkbox inputs.
Parameters
- 
                array$data
- The data array defining the checkboxes. 
- 
                Cake\View\Form\ContextInterface$context
- The current form context. 
Returns
arrayAn array of rendered inputs.
render() ¶ public
render(array $data, Cake\View\Form\ContextInterface $context): stringRender 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): arrayReturns a list of fields that need to be secured for this widget. Fields are in the form of Model[field][suffix]
Parameters
- 
                array$data
Returns
array