Class DateTimeWidget
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.
- Cake\View\Widget\DateTimeWidget implements Cake\View\Widget\WidgetInterface
Properties summary
-
$_select
protected -
$_selects
protectedList of inputs that can be renderedarray
-
$_templates
protected
Method Summary
- __construct() publicConstructor
- _adjustValue() protectedAdjust $value based on rounding settings.
- _daySelect() protectedGenerates a day select
- _deconstructDate() protectedDeconstructs the passed date value into all time units
- _generateNumbers() protectedGenerates a range of numbers
- _getMonthNames() protectedReturns a translated list of month names
- _hourSelect() protectedGenerates a hour select
- _meridianSelect() protectedGenerates a meridian select
- _minuteSelect() protectedGenerates a minute select
- _monthSelect() protectedGenerates a month select
- _normalizeData() protectedNormalize data.
- _secondSelect() protectedGenerates a second select
- _yearSelect() protectedGenerates a year select
- render() publicRenders a date time widget
- secureFields() publicReturns a list of fields that need to be secured for this widget.
Method Detail
__construct()source public
__construct( Cake\View\StringTemplate $templates , Cake\View\Widget\SelectBoxWidget $selectBox )
Constructor
Parameters
-
Cake\View\StringTemplate
$templates
- Templates list.
-
Cake\View\Widget\SelectBoxWidget
$selectBox
- Selectbox widget instance.
_adjustValue()source protected
_adjustValue( integer $value , array $options )
Adjust $value based on rounding settings.
Parameters
- integer
$value
- The value to adjust.
- array
$options
- The options containing interval and possibly round.
Returns
integerThe amount to adjust $value by.
_daySelect()source protected
_daySelect( array $options , Cake\View\Form\ContextInterface $context )
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_deconstructDate()source protected
_deconstructDate( string|integer|array|DateTime|null $value , array $options )
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_generateNumbers()source protected
_generateNumbers( integer $start , integer $end , array $options = [] )
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
optional [] - Options list.
Returns
array_getMonthNames()source protected
_getMonthNames( boolean $leadingZero = false )
Returns a translated list of month names
Parameters
- boolean
$leadingZero
optional false - Whether to generate month keys with leading zero.
Returns
array_hourSelect()source protected
_hourSelect( array $options , Cake\View\Form\ContextInterface $context )
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_meridianSelect()source protected
_meridianSelect( array $options , Cake\View\Form\ContextInterface $context )
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_minuteSelect()source protected
_minuteSelect( array $options , Cake\View\Form\ContextInterface $context )
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_monthSelect()source protected
_monthSelect( array $options , Cake\View\Form\ContextInterface $context )
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_normalizeData()source protected
_normalizeData( array $data )
Normalize data.
Parameters
- array
$data
- Data to normalize.
Returns
arrayNormalized data.
_secondSelect()source protected
_secondSelect( array $options , Cake\View\Form\ContextInterface $context )
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_yearSelect()source protected
_yearSelect( array $options , Cake\View\Form\ContextInterface $context )
Generates a year select
Parameters
- array
$options
- Options list.
-
Cake\View\Form\ContextInterface
$context
- The current form context.
Returns
stringrender()source public
render( array $data , Cake\View\Form\ContextInterface $context )
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
Acceptsup
ordown
. 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.
Returns
stringA generated select box.
Throws
RuntimeExceptionWhen option data is invalid.
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.
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
arrayArray of fields to secure.
Implementation of
Cake\View\Widget\WidgetInterface::secureFields()
Properties detail
$_selectssource
protected array
List of inputs that can be rendered
[ 'year', 'month', 'day', 'hour', 'minute', 'second', 'meridian', ]
© 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.6/class-Cake.View.Widget.DateTimeWidget.html