CakePHP
  • Documentation
    • Book
    • API
    • Videos
    • Logos & Trademarks
  • Business Solutions
  • Swag
  • Road Trip
  • Team
  • Community
    • Community
    • Team
    • Issues (Github)
    • YouTube Channel
    • Get Involved
    • Bakery
    • Featured Resources
    • Newsletter
    • Certification
    • My CakePHP
    • CakeFest
    • Facebook
    • Twitter
    • Help & Support
    • Forum
    • Stack Overflow
    • IRC
    • Slack
    • Paid Support
CakePHP

C CakePHP 3.8 Red Velvet API

  • Overview
  • Tree
  • Deprecated
  • Version:
    • 3.8
      • 3.8
      • 3.7
      • 3.6
      • 3.5
      • 3.4
      • 3.3
      • 3.2
      • 3.1
      • 3.0
      • 2.10
      • 2.9
      • 2.8
      • 2.7
      • 2.6
      • 2.5
      • 2.4
      • 2.3
      • 2.2
      • 2.1
      • 2.0
      • 1.3
      • 1.2

Namespaces

  • Cake
    • Auth
      • Storage
    • Cache
      • Engine
    • Collection
      • Iterator
    • Command
    • Console
      • Exception
    • Controller
      • Component
      • Exception
    • Core
      • Configure
        • Engine
      • Exception
      • Retry
    • Database
      • Driver
      • Exception
      • Expression
      • Schema
      • Statement
      • Type
    • Datasource
      • Exception
    • Error
      • Middleware
    • Event
      • Decorator
    • Filesystem
    • Form
    • Http
      • Client
        • Adapter
        • Auth
      • Cookie
      • Exception
      • Middleware
      • Session
    • I18n
      • Formatter
      • Middleware
      • Parser
    • Log
      • Engine
    • Mailer
      • Exception
      • Transport
    • Network
      • Exception
    • ORM
      • Association
      • Behavior
        • Translate
      • Exception
      • Locator
      • Rule
    • Routing
      • Exception
      • Filter
      • Middleware
      • Route
    • Shell
      • Helper
      • Task
    • TestSuite
      • Fixture
      • Stub
    • Utility
      • Exception
    • Validation
    • View
      • Exception
      • Form
      • Helper
      • Widget
  • None

Classes

  • BasicWidget
  • ButtonWidget
  • CheckboxWidget
  • DateTimeWidget
  • FileWidget
  • LabelWidget
  • MultiCheckboxWidget
  • NestingLabelWidget
  • RadioWidget
  • SelectBoxWidget
  • TextareaWidget
  • WidgetLocator

Interfaces

  • WidgetInterface

Class SelectBoxWidget

Input widget class for generating a selectbox.

This class is intended as an internal implementation detail of Cake\View\Helper\FormHelper and is not intended for direct use.

Cake\View\Widget\BasicWidget implements Cake\View\Widget\WidgetInterface
Extended by Cake\View\Widget\SelectBoxWidget
Namespace: Cake\View\Widget
Location: View/Widget/SelectBoxWidget.php

Inherited Properties

  • _templates

Method Summary

  • _emptyValue() protected
    Generate the empty value based on the input.
  • _isDisabled() protected
    Helper method for deciding what options are disabled.
  • _isSelected() protected
    Helper method for deciding what options are selected.
  • _renderContent() protected
    Render the contents of the select element.
  • _renderOptgroup() protected
    Render the contents of an optgroup element.
  • _renderOptions() protected
    Render a set of options.
  • render() public
    Render a select box form input.

Method Detail

_emptyValue() protected ¶

_emptyValue( string|boolean|array $value )

Generate the empty value based on the input.

Parameters
string|boolean|array $value
The provided empty value.
Returns
array
The generated option key/value.

_isDisabled() 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

_isSelected() 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

_renderContent() protected ¶

_renderContent( array $data )

Render the contents of the select element.

Parameters
array $data
The context for rendering a select.
Returns
array

_renderOptgroup() protected ¶

_renderOptgroup( string $label , array $optgroup , array|null $disabled , array|string|null $selected , array $templateVars , boolean $escape )

Render the contents of an optgroup element.

Parameters
string $label
The optgroup label text
array $optgroup
The opt group data.
array|null $disabled
The options to disable.
array|string|null $selected
The options to select.
array $templateVars
Additional template variables.
boolean $escape
Toggle HTML escaping
Returns
string
Formatted template string

_renderOptions() protected ¶

_renderOptions( array $options , array|null $disabled , array|string|null $selected , array $templateVars , boolean $escape )

Render a set of options.

Will recursively call itself when option groups are in use.

Parameters
array $options
The options to render.
array|null $disabled
The options to disable.
array|string|null $selected
The options to select.
array $templateVars
Additional template variables.
boolean $escape
Toggle HTML escaping.
Returns
array
Option elements.

render() public ¶

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

Render a select box form input.

Render a select box input given a set of data. Supported keys are:

  • name - Set the input name.
  • options - An array of options.
  • disabled - Either true or an array of options to disable. When true, the select element will be disabled.
  • val - Either a string or an array of options to mark as selected.
  • empty - Set to true to add an empty option at the top of the option elements. Set to a string to define the display text of the empty option. If an array is used the key will set the value of the empty option while, the value will set the display text.
  • escape - Set to false to disable HTML escaping.

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.

If you need to define option groups you can do those using nested arrays:

'options' => [
 'Mammals' => [
   'elk' => 'Elk',
   'beaver' => 'Beaver'
 ]
]

And finally, if you need to put attributes on your optgroup elements you can do that with a more complex nested array form:

'options' => [
  [
    'text' => 'Mammals',
    'data-id' => 1,
    'options' => [
      'elk' => 'Elk',
      'beaver' => 'Beaver'
    ]
 ],
]

You are free to mix each of the forms in the same option set, and nest complex types as required.

Parameters
array $data
Data to render with.
Cake\View\Form\ContextInterface $context
The current form context.
Returns
string
A generated select box.
Throws
RuntimeException
when the name attribute is empty.
Overrides
Cake\View\Widget\BasicWidget::render()

Methods inherited from Cake\View\Widget\BasicWidget

__construct() public ¶

__construct( Cake\View\StringTemplate $templates )

Constructor.

Parameters
Cake\View\StringTemplate $templates
Templates list.

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
array
Array of fields to secure.
Implementation of
Cake\View\Widget\WidgetInterface::secureFields()
Follow @CakePHP
#IRC
OpenHub
Rackspace
  • Business Solutions
  • Showcase
  • Documentation
  • Book
  • API
  • Videos
  • Logos & Trademarks
  • Community
  • Team
  • Issues (Github)
  • YouTube Channel
  • Get Involved
  • Bakery
  • Featured Resources
  • Newsletter
  • Certification
  • My CakePHP
  • CakeFest
  • Facebook
  • Twitter
  • Help & Support
  • Forum
  • Stack Overflow
  • IRC
  • Slack
  • Paid Support

Generated using CakePHP API Docs