Класс 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 - Конец диапазона генерируемых чисел
- массив
$optionsoptional [] - Список параметров.
Возвращает
массив_getMonthNames()source protected
_getMonthNames( boolean $leadingZero = false )
Возвращает переведённый список названий месяцев
Параметры
- булево
$leadingZerooptional 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- Булево значение или массив опций для отключения. -
val- Строка даты и времени, целое число или объект DateTime -
empty- Устанавливается в true для добавления пустой опции вверху элементов опций. Устанавливается в строку для определения значения отображения пустой опции.
Помимо указанных выше опций, следующие опции позволяют управлять тем, какие элементы ввода генерируются. Установив любую опцию в false, вы можете отключить соответствующий элемент выбора. Кроме того, каждый элемент выбора позволяет установить дополнительные опции, которые задаются как HTML-свойства элемента выбора.
-
year- Массив опций для поля выбора года. -
month- Массив опций для поля выбора месяца. -
day- Массив опций для поля выбора дня. -
hour- Массив опций для поля выбора часа. -
minute- Массив опций для поля выбора минуты. -
second- Устанавливается в true для включения поля ввода секунд. По умолчанию false. -
meridian- Устанавливается в true для включения поля ввода полудня. По умолчанию false. Полуденное время будет включено автоматически, если выбран 12-часовой формат.
Опция year принимает опции start и end. Они позволяют управлять диапазоном годов, которые генерируются. По умолчанию - 5 лет назад и 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.8/class-Cake.View.Widget.DateTimeWidget.html