Class MultiCheckboxWidget

Input widget class for generating multiple checkboxes.

Cake\View\Widget\MultiCheckboxWidget implements Cake\View\Widget\WidgetInterface uses Cake\View\Helper\IdGeneratorTrait

Properties summary

Inherited Properties

Method Summary

  • __construct() public
    Render multi-checkbox widget.
  • _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.
  • 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()source public

__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.

Parameters

Cake\View\StringTemplate $templates
Templates list.
Cake\View\Widget\LabelWidget $label
Label widget instance.

_isDisabled()source protected

_isDisabled( string $key , array|boolean|null $disabled )

Helper method for deciding what options are disabled.

Parameters

string $key
The key to test.
array|boolean|null $disabled
The disabled values.

Returns

boolean

_isSelected()source protected

_isSelected( string $key , array|string|null $selected )

Helper method for deciding what options are selected.

Parameters

string $key
The key to test.
array|string|null $selected
The selected values.

Returns

boolean

_renderInput()source protected

_renderInput( array $checkbox , Cake\View\Form\ContextInterface $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()source protected

_renderInputs( array $data , Cake\View\Form\ContextInterface $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()source 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

Implementation of

Cake\View\Widget\WidgetInterface::render()

secureFields()source 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

array
Array of fields to secure.

Implementation of

Cake\View\Widget\WidgetInterface::secureFields()

Methods used from Cake\View\Helper\IdGeneratorTrait

_clearIds()source protected

_clearIds( )

Clear the stored ID suffixes.

_domId()source protected

_domId( string $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()source protected

_id( string $name , string $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.

Properties detail

$_labelsource

protected Cake\View\Widget\LabelWidget

Label widget instance.

$_templatessource

protected Cake\View\StringTemplate

Template instance to use.

© 2005–2017 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.4/class-Cake.View.Widget.MultiCheckboxWidget.html