От автора: приветствую вас, друзья. Мы продолжаем цикл статей, посвященных знакомству с фреймворком Yii2. В этой статье мы с вами установим расширение yii2-widget-datepicker, который предлагает удобный интерфейс для выбора даты, проще говоря, установив расширение мы получим симпатичный календарик для поля выбора даты.
С датами на сайтах мы работаем сплошь и рядом. При регистрации нас могут попросить ввести дату рождения, при записи к врачу мы можем выбрать свободную дату приема и т.д. Раньше для этого часто предлагались выпадающие списки, из которых посетитель сайта мог выбрать число месяц и год. Но, как говорится, это уже прошлый век. Сейчас модной и фактически стандартной штукой для этой цели являются всевозможные виджеты календарей – datepicker. Виджет прикрепляется к полю и при клике по полю будет показан календарь, из которого посетитель выберет нужную дату. Выбранная дата будет подставлена в соответствующее поле формы. Удобно и симпатично.
Давайте установим один из таких виджетов – kartik yii2-widget-datepicker. Откроем консоль, перейдем в папку проекта и выполним следующую команду:
1 |
composer require kartik-v/yii2-widget-datepicker "@dev" |
Отлично! Расширение успешно установлено, теперь остается следовать инструкции и добавить его в представление. Для этого достаточно следующего кода:
1 2 3 4 5 6 7 8 9 10 11 |
use kartik\date\DatePicker; echo '<label>Check Issue Date</label>'; echo DatePicker::widget([ 'name' => 'check_issue_date', 'value' => date('d-M-Y', strtotime('+2 days')), 'options' => ['placeholder' => 'Select issue date ...'], 'pluginOptions' => [ 'format' => 'dd-mm-yyyy', 'todayHighlight' => true ] ]); |
После обновления страницы мы увидим на странице поле с прикрепленным к нему календариком.
Далее при желании вы можете настроить календарь под себя. Для этого можно воспользоваться документацией к расширению, которую можно найти по ссылке.
На этом все. Больше о фреймворке вы можете узнать из наших бесплатных или платных уроков. Также создание простейшего блога на Yii2 можно посмотреть в этом цикле уроков.