Класс DateTimeWidget
Класс виджета для генерации виджета ввода даты и времени.
Этот класс предназначен в качестве внутренней детали реализации Cake\View\Helper\FormHelper и не предназначен для прямого использования.
- Cake\View\Widget\DateTimeWidget реализует Cake\View\Widget\WidgetInterface
Краткое описание свойств
- Виджет выпадающего списка.
$_selectprotected -
$_selectsprotectedСписок элементов ввода, которые могут быть отображеныarray - Экземпляр шаблона.
$_templatesprotected
Краткое описание методов
- __construct() publicКонструктор
- _adjustValue() protectedКорректирует $value на основе настроек округления.
- _daySelect() protectedГенерирует выбор дня
- _deconstructDate() protectedРазбирает переданное значение даты на отдельные компоненты времени
- _generateNumbers() protectedГенерирует диапазон чисел
- _getMonthNames() protectedВозвращает переведённый список названий месяцев
- _hourSelect() protectedГенерирует выбор часа
- _meridianSelect() protectedГенерирует выбор полудня
- _minuteSelect() protectedГенерирует выбор минуты
- _monthSelect() protectedГенерирует выбор месяца
- _normalizeData() protectedНормализует данные.
- _secondSelect() protectedГенерирует выбор секунды
- _yearSelect() protectedГенерирует выбор года
- render() publicОтображает виджет даты и времени
- secureFields() publicВозвращает список полей, которые необходимо защитить для этого виджета.
Подробное описание методов
__construct()source public
__construct( Cake\View\StringTemplate $templates , Cake\View\Widget\SelectBoxWidget $selectBox )
Конструктор
Параметры
-
Cake\View\StringTemplate$templates - Список шаблонов.
-
Cake\View\Widget\SelectBoxWidget$selectBox - Экземпляр виджета выпадающего списка.
_adjustValue()source protected
_adjustValue( integer $value , array $options )
Настройка $value на основе параметров округления.
Параметры
- целое число
$value - Значение для настройки.
- массив
$options - Параметры, содержащие интервал и, возможно, округление.
Возвращает
целое числоЗначение, на которое следует настроить $value.
_daySelect()source protected
_daySelect( array $options , Cake\View\Form\ContextInterface $context )
Генерирует выбор дня
Параметры
- массив
$options - Параметры для генерации выбора дня.
-
Cake\View\Form\ContextInterface$context - Текущий контекст формы.
Возвращает
строка_deconstructDate()source protected
_deconstructDate( string|integer|array|DateTime|null $value , array $options )
Декодирует переданное значение даты во все единицы времени
Параметры
- строка|целое число|массив|DateTime|null
$value - Значение для декодирования.
- массив
$options - Параметры преобразования.
Возвращает
массив_generateNumbers()source protected
_generateNumbers( integer $start , integer $end , array $options = [] )
Генерирует диапазон чисел
Параметры
- leadingZeroKey - Установить в true, чтобы добавить ведущий 0 к ключам с одной цифрой.
- leadingZeroValue - Установить в true, чтобы добавить ведущий 0 к значениям с одной цифрой.
- interval - Интервал для генерации чисел. По умолчанию равен 1.
Параметры
- целое число
$start - Начало диапазона чисел для генерации
- целое число
$end - Конец диапазона чисел для генерации
- массив
$optionsнеобязательный [] - Список параметров.
Возвращает
массив_getMonthNames()source protected
_getMonthNames( boolean $leadingZero = false )
Возвращает переведенный список названий месяцев
Параметры
- логическое значение
$leadingZeroнеобязательный false - Нужно ли генерировать ключи месяцев с ведущим нулем.
Возвращает
массив_hourSelect()source protected
_hourSelect( array $options , Cake\View\Form\ContextInterface $context )
Генерирует выбор часа
Параметры
- массив
$options - Параметры для генерации выбора часа
-
Cake\View\Form\ContextInterface$context - Текущий контекст формы.
Возвращает
строка_meridianSelect()source protected
_meridianSelect( array $options , Cake\View\Form\ContextInterface $context )
Генерирует выбор полудня
Параметры
- массив
$options - Параметры для генерации выбора полудня.
-
Cake\View\Form\ContextInterface$context - Текущий контекст формы.
Возвращает
строка_minuteSelect()source protected
_minuteSelect( array $options , Cake\View\Form\ContextInterface $context )
Генерирует выбор минут
Параметры
- массив
$options - Параметры для генерации выбора минут.
-
Cake\View\Form\ContextInterface$context - Текущий контекст формы.
Возвращает
строка_monthSelect()source protected
_monthSelect( array $options , Cake\View\Form\ContextInterface $context )
Генерирует выбор месяца
Параметры
- массив
$options - Параметры для построения выбора месяца
-
Cake\View\Form\ContextInterface$context - Текущий контекст формы.
Возвращает
строка_normalizeData()source protected
_normalizeData( array $data )
Нормализация данных.
Параметры
- массив
$data - Данные для нормализации.
Возвращает
массивНормализованные данные.
_secondSelect()source protected
_secondSelect( array $options , Cake\View\Form\ContextInterface $context )
Генерирует список выбора секунд
Параметры
- массив
$options - Опции для генерации списка выбора секунд
-
Cake\View\Form\ContextInterface$context - Текущий контекст формы.
Возвращает
строка_yearSelect()source protected
_yearSelect( array $options , Cake\View\Form\ContextInterface $context )
Генерирует список выбора года
Параметры
- массив
$options - Список опций.
-
Cake\View\Form\ContextInterface$context - Текущий контекст формы.
Возвращает
строкаrender()source public
render( array $data , Cake\View\Form\ContextInterface $context )
Отображает виджет даты и времени
-
name- Установить имя поля ввода. -
disabled- Либо true, либо массив опций для отключения. -
val- Строка даты и времени, целое число или объект DateTime -
empty- Установить в true, чтобы добавить пустую опцию вверху списка опций. Указать строку для определения отображаемого значения пустой опции.
В дополнение к вышеперечисленным опциям, следующие опции позволяют управлять тем, какие элементы ввода генерируются. Установив любую опцию в false, можно отключить соответствующий элемент выбора. Кроме того, каждый элемент выбора позволяет установить дополнительные опции, которые задаются как атрибуты HTML.
-
year- Массив опций для выпадающего списка выбора года. -
month- Массив опций для выпадающего списка выбора месяца. -
day- Массив опций для выпадающего списка выбора дня. -
hour- Массив опций для выпадающего списка выбора часа. -
minute- Массив опций для выпадающего списка выбора минуты. -
second- Установить в true для включения ввода секунд. По умолчанию false. -
meridian- Установить в true для включения ввода полуденного/полуночного значения. По умолчанию false. Полуденное/полуночное значение будет включено автоматически, если выбран 12-часовой формат.
Опция year принимает опции start и end. Они позволяют управлять диапазоном лет, которые генерируются. По умолчанию используется диапазон +-5 лет от текущего.
Опция month принимает опцию name, которая позволяет получить названия месяцев вместо номеров.
Опция hour позволяет задать следующие опции:
-
formatопция, принимающая значения 12 или 24, позволяющая указать формат часов. -
startНачальный час для опций. -
endКонечный час для опций.
Начальные и конечные значения зависят от используемого формата. Если значение выходит за пределы заданного диапазона, оно не будет включено.
Опция minute позволяет задать следующие опции:
-
intervalИнтервал округления опций. -
roundПринимаетupилиdown. Определяет направление округления текущего значения для соответствия опциям списка выбора.
Параметры
- массив
$data - Данные для отображения.
-
Cake\View\Form\ContextInterface$context - Текущий контекст формы.
Возвращает
строкаСгенерированный выпадающий список.
Исключения
RuntimeExceptionПри некорректных данных опций.
Реализация
Cake\View\Widget\WidgetInterface::render() secureFields()source public
secureFields( array $data )
Возвращает список полей, которые необходимо закрепить для этого виджета.
Когда ввод часов находится в 24-часовом формате (null или format=24), элемент выбора полуденного/полуночного значения будет опущен.
Параметры
- массив
$data - Данные для отображения.
Возвращает
массивМассив полей для закрепления.
Реализация
Cake\View\Widget\WidgetInterface::secureFields() Подробное описание свойств
$_selectssource
protected массив
Список элементов ввода, которые могут быть отображены
[
'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.7/class-Cake.View.Widget.DateTimeWidget.html