
Устанавливать будем с помощью Composer, ссылка на Github. Так же мной было испробовано другое расширение c похожим названием, но при обновлении зависимостей, Composer подтягивал около 15 мб. каких-то данных, поэтому пришлось от него отказаться в пользу данного, не такого прожорливого.
Для загрузки введите в командной строке (если Composer установлен глобально):
composer require kartik-v/yii2-widget-datetimepickerесли Composer установлен в корень проекта:
php composer.phar require kartik-v/yii2-widget-datetimepickerПосле установки, в папке vendor появится папка kartik-v с файлами виджета.
Как-правило, дату/время приходится вводить в поле формы, а формы в Yii2 обычно создаются с помощью yii\widgets\ActiveForm(). Вот как будет выглядеть подключение DateTimePicker к полю формы:
<?php if($model->addtime) { $model->addtime = date("d.m.Y H:i", (integer) $model->addtime); } echo $form->field($model, 'addtime')->widget(DateTimePicker::className(),[ 'name' => 'dp_1', 'type' => DateTimePicker::TYPE_INPUT, 'options' => ['placeholder' => 'Ввод даты/времени...'], 'convertFormat' => true, 'value'=> date("d.m.Y h:i",(integer) $model->addtime), 'pluginOptions' => [ 'format' => 'dd.MM.yyyy hh:i', 'autoclose'=>true, 'weekStart'=>1, //неделя начинается с понедельника 'startDate' => '01.05.2015 00:00', //самая ранняя возможная дата 'todayBtn'=>true, //снизу кнопка "сегодня" ] ]); ?>
В данном примере в виджет передается из БД определенная дата/время в формате UNIX, где она преобразуется в нужный для вывода на экран и для самого виджета формат: date("d.m.Y H:i", (integer) $model->addtime). Если же дата в поле не передается , то откроется та, что установлена в опции startDate.
DateTimePicker имеет разные варианты отображения, посмотреть и протестировать можно тут:
ДЕМО
Так же имеется много различных опций, описания которых найдете здесь
'startDate' => '01.05.2015 00:00', //самая ранняя возможная дата
Это не самая ранняя, а та, на которой будет стоять фокус, самая ранняя дата выводится : 'minDate'ответ на комментарий Виталий от 27.04.2018
"Самая ранняя дата, которую можно выбрать; все более ранние даты будут отключены."
ответ на комментарий Сергей от 27.04.2018
ответ на комментарий Виталий от 27.04.2018
Интересно, откуда вы вообще взяли такие настройки как "minDate", так как этого нет в данном расширении. Не верите - поищите в содержимом папки vendor\kartik-v\yii2-widget-datetimepicker.
ответ на комментарий Сергей от 29.04.2018
А в целом я же не с потолка это взял, да и просто помочь, что бы вдруг еще кто столкнется. Спасибо за ресурс!
ответ на комментарий Виталий от 02.05.2018