Class MultiCheckboxWidget

Input widget class for generating multiple checkboxes.

Namespace: Cake\View\Widget

Properties summary

  • $_idPrefix protected
    string|null

    Prefix for id attribute.

  • $_idSuffixes protected
    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

    Template instance to use.

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.

  • render() public

    Render multi-checkbox widget.

  • secureFields() public

    Returns 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(mixed $templates, mixed $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.

Parameters

\Cake\View\StringTemplate $templates

Templates list.

\Cake\View\Widget\LabelWidget $label

Label widget instance.

_clearIds() protected

_clearIds()

Clear the stored ID suffixes.

_domId() protected

_domId(mixed $value)

Generate an ID suitable for use in an ID attribute.

Parameters

string $value

The value to convert into an ID.

Returns

string

The generated id.

_id() protected

_id(mixed $name, mixed $val)

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

Generated id.

_idSuffix() protected

_idSuffix(mixed $val)

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

Generated id suffix.

_isDisabled() protected

_isDisabled(mixed $key, mixed $disabled)

Helper 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(mixed $key, mixed $selected)

Helper 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(mixed $checkbox, mixed $context)

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(mixed $data, mixed $context)

Render the checkbox inputs.

Parameters

array $data

The data array defining the checkboxes.

\Cake\View\Form\ContextInterface $context

The current form context.

Returns

array

An array of rendered inputs.

render() public

render(array $data, \Cake\View\Form\ContextInterface $context)

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 $data

The data to generate a checkbox set with.

\Cake\View\Form\ContextInterface $context

The current form context.

Returns

string

secureFields() public

secureFields(array $data)

Returns a list of fields that need to be secured for this widget. Fields are in the form of Model[field][suffix]

Parameters

array $data

The data to render.

Returns

string[]

Array of fields to secure.

Property 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

Template instance to use.

Type

\Cake\View\StringTemplate

© 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/3.9/class-Cake.View.Widget.MultiCheckboxWidget.html