Class MultiCheckboxWidget
Input widget class for generating multiple checkboxes.
- Cake\View\Widget\MultiCheckboxWidget implements Cake\View\Widget\WidgetInterface uses Cake\View\Helper\IdGeneratorTrait
Method Detail
__constructsource 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 thename
,value
andattrs
variables. -
checkboxWrapper
Renders the containing div/element for a checkbox and its label. Accepts theinput
, andlabel
variables.
Parameters
-
Cake\View\StringTemplate
$templates
- Templates list.
-
Cake\View\Widget\LabelWidget
$label
- Label widget instance.
_isDisabledsource protected
_isDisabled( string $key , array|null $disabled )
Helper method for deciding what options are disabled.
Parameters
- string
$key
- The key to test.
- array|null
$disabled
- The disabled values.
Returns
boolean
bool
_isSelectedsource 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
bool
_renderInputsource 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
string
rendersource 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
string
Implementation of
Cake\View\Widget\WidgetInterface::render()
secureFieldssource 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
_domIdsource 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.
_idsource 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 summary
Properties used from Cake\View\Helper\IdGeneratorTrait
© 2005–2016 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.
http://api.cakephp.org/3.1/class-Cake.View.Widget.MultiCheckboxWidget.html