\Cake\View\WidgetDateTimeWidget

Input widget class for generating a date time input widget.

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

Summary

Methods
Properties
Constants
__construct()
render()
secureFields()
No public properties found
No constants found
_normalizeData()
_deconstructDate()
_adjustValue()
_yearSelect()
_monthSelect()
_daySelect()
_hourSelect()
_minuteSelect()
_secondSelect()
_meridianSelect()
_getMonthNames()
_generateNumbers()
$_select
$_selects
$_templates
N/A
No private methods found
No private properties found
N/A

Properties

$_selects

$_selects : array

List of inputs that can be rendered

Type

array

Methods

render()

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

Renders a date time widget

  • name - Set the input name.
  • disabled - Either true or an array of options to disable.
  • val - A date time string, integer or DateTime object
  • empty - Set to true to add an empty option at the top of the option elements. Set to a string to define the display value of the empty option.

In addition to the above options, the following options allow you to control which input elements are generated. By setting any option to false you can disable that input picker. In addition each picker allows you to set additional options that are set as HTML properties on the picker.

  • year - Array of options for the year select box.
  • month - Array of options for the month select box.
  • day - Array of options for the day select box.
  • hour - Array of options for the hour select box.
  • minute - Array of options for the minute select box.
  • second - Set to true to enable the seconds input. Defaults to false.
  • meridian - Set to true to enable the meridian input. Defaults to false. The meridian will be enabled automatically if you choose a 12 hour format.

The year option accepts the start and end options. These let you control the year range that is generated. It defaults to +-5 years from today.

The month option accepts the name option which allows you to get month names instead of month numbers.

The hour option allows you to set the following options:

  • format option which accepts 12 or 24, allowing you to indicate which hour format you want.
  • start The hour to start the options at.
  • end The hour to stop the options at.

The start and end options are dependent on the format used. If the value is out of the start/end range it will not be included.

The minute option allows you to define the following options:

  • interval The interval to round options to.
  • round Accepts up or down. Defines which direction the current value should be rounded to match the select options.

Parameters

array $data

Data to render with.

\Cake\View\Form\ContextInterface $context

The current form context.

Throws

\RuntimeException

When option data is invalid.

Returns

string —

A generated select box.

secureFields()

secureFields(array  $data) : array

Returns a list of fields that need to be secured for this widget.

When the hour picker is in 24hr mode (null or format=24) the meridian picker will be omitted.

Parameters

array $data

The data to render.

Returns

array —

Array of fields to secure.

_normalizeData()

_normalizeData(array  $data) : array

Normalize data.

Parameters

array $data

Data to normalize.

Returns

array —

Normalized data.

_deconstructDate()

_deconstructDate(string|integer|array|\DateTime|null  $value, array  $options) : array

Deconstructs the passed date value into all time units

Parameters

string|integer|array|\DateTime|null $value

Value to deconstruct.

array $options

Options for conversion.

Returns

array

_adjustValue()

_adjustValue(integer  $value, array  $options) : integer

Adjust $value based on rounding settings.

Parameters

integer $value

The value to adjust.

array $options

The options containing interval and possibly round.

Returns

integer —

The amount to adjust $value by.

_yearSelect()

_yearSelect(array  $options, \Cake\View\Form\ContextInterface  $context) : string

Generates a year select

Parameters

array $options

Options list.

\Cake\View\Form\ContextInterface $context

The current form context.

Returns

string

_monthSelect()

_monthSelect(array  $options, \Cake\View\Form\ContextInterface  $context) : string

Generates a month select

Parameters

array $options

The options to build the month select with

\Cake\View\Form\ContextInterface $context

The current form context.

Returns

string

_daySelect()

_daySelect(array  $options, \Cake\View\Form\ContextInterface  $context) : string

Generates a day select

Parameters

array $options

The options to generate a day select with.

\Cake\View\Form\ContextInterface $context

The current form context.

Returns

string

_hourSelect()

_hourSelect(array  $options, \Cake\View\Form\ContextInterface  $context) : string

Generates a hour select

Parameters

array $options

The options to generate an hour select with

\Cake\View\Form\ContextInterface $context

The current form context.

Returns

string

_minuteSelect()

_minuteSelect(array  $options, \Cake\View\Form\ContextInterface  $context) : string

Generates a minute select

Parameters

array $options

The options to generate a minute select with.

\Cake\View\Form\ContextInterface $context

The current form context.

Returns

string

_secondSelect()

_secondSelect(array  $options, \Cake\View\Form\ContextInterface  $context) : string

Generates a second select

Parameters

array $options

The options to generate a second select with

\Cake\View\Form\ContextInterface $context

The current form context.

Returns

string

_meridianSelect()

_meridianSelect(array  $options, \Cake\View\Form\ContextInterface  $context) : string

Generates a meridian select

Parameters

array $options

The options to generate a meridian select with.

\Cake\View\Form\ContextInterface $context

The current form context.

Returns

string

_getMonthNames()

_getMonthNames(boolean  $leadingZero = false) : array

Returns a translated list of month names

Parameters

boolean $leadingZero

Whether to generate month keys with leading zero.

Returns

array

_generateNumbers()

_generateNumbers(integer  $start, integer  $end, array  $options = array()) : array

Generates a range of numbers

Options

  • leadingZeroKey - Set to true to add a leading 0 to single digit keys.
  • leadingZeroValue - Set to true to add a leading 0 to single digit values.
  • interval - The interval to generate numbers for. Defaults to 1.

Parameters

integer $start

Start of the range of numbers to generate

integer $end

End of the range of numbers to generate

array $options

Options list.

Returns

array