Я установил вышеуказанное расширение через композитор и следую документации для каждого шага; в моих:Yii2 kartik-datecontrol extension
view : use kartik\datecontrol\DateControl;// <?=$form->field($model, 'dated')->widget(DateControl::classname(), [
'type'=>DateControl::FORMAT_DATE,
'ajaxConversion'=>false,
'options' => ['pluginOptions' => ['autoclose' => true ],'class'=>'col-xs-12 form-control input-sm']])?>
Web.php - Module configuration :
use \kartik\datecontrol\Module;
'datecontrol' => [
'class' => 'kartik\datecontrol\Module',
// format settings for displaying each date attribute (ICU format example)
'displaySettings' => [
Module::FORMAT_DATE => 'php:dd-m-Y',
Module::FORMAT_TIME => 'php:H:i:s',
Module::FORMAT_DATETIME => 'php:Y-m-d H:i:s',
],
// format settings for saving each date attribute (PHP format example)
'saveSettings' => [
Module::FORMAT_DATE => 'php:Y-m-d',
Module::FORMAT_TIME => 'php:H:i:s',
Module::FORMAT_DATETIME => 'php:Y-m-d H:i:s',
],
// set your display timezone
// 'displayTimezone' => 'Asia/Kolkata',
// set your timezone for date saved to db
// 'saveTimezone' => 'UTC',
// automatically use kartik\widgets for each of the above formats
'autoWidget' => true,
// default settings for each widget from kartik\widgets used when autoWidget is true
'autoWidgetSettings' => [
Module::FORMAT_DATE => ['type'=>2, 'pluginOptions'=>['autoclose'=>true]], // example
Module::FORMAT_DATETIME => [], // setup if needed
Module::FORMAT_TIME => [], // setup if needed
],
// custom widget settings that will be used to render the date input instead of kartik\widgets,
// this will be used when autoWidget is set to false at module or widget level.
'widgetSettings' => [
Module::FORMAT_DATE => [
'class' => 'yii\jui\DatePicker', // example
'options' => [
'dateFormat' => 'php:d-M-Y',
'options' => ['class'=>'form-control'],
]
]
]
// other settings
]
Когда я запускаю вид я получил следующее сообщение об ошибке:
{ "имя": "Конфигурация Неверная", "сообщение": "Класс «\ Картик \ date \ DatePicker 'не найден и требуется для Формат даты DateControl. \ n \ nПожалуйста, убедитесь, что вы установили один из ' yii2-widgets 'ИЛИ' yii2-widget-datepicker '. Для установки вы можете использовать запустите эту консольную команду из вашего корня приложения: \ n \ nphp composer.phar требуется kartik-v/yii2-widgets: \ "@ dev \" \ n \ n --- ИЛИ --- \ n \ nphp composer.phar требуется kartik-v/yii2-widget-datepicker: \ "@ dev \" "," code ": 0," type ":" yii \ base \ InvalidConfigException "," file ":" C: \ wamp \ www \ pub \ vendor \ kartik-v \ yii2-krajee-base \ Config.php "," строка ": 118," trace-trace ": [" # 0 C: \ wamp \ www \ pub \ vendor \ kartik-v \ yii2-krajee-base \ Config.php (195): kartik \ base \ Config :: checkDependency ('\\ kartik \\ date \\ Da ...', Массив, 'для DateControl ...') "," # 1 C: \ wamp \ www \ pub \ vendor \ kartik-v \ yii2-datecontrol \ DateControl.php (215): kartik \ base \ Config :: validateInputWidget ('\\ kartik \\ date \\ Da ...', 'для DateControl ...') "," # 2 C: \ wamp \ www \ pub \ vendor \ kartik-v \ yii2-datecontrol \ DateControl.php (154): kartik \ datecontrol \ DateControl-> initConfig() "," # 3 C: \ wamp \ www \ pub \ vendor \ yiisoft \ yii2 \ base \ Object.php (107): kartik \ datecontrol \ DateControl-> init() "," # 4 [внутренняя функция]: yii \ base \ Object -> __ construct (Array) "," # 5 C: \ wamp \ www \ pub \ vendor \ yiisoft \ yii2 \ di \ Container.php (372): ReflectionClass-> newInstanceArgs (Array) "," # 6 C: \ wamp \ www \ pub \ vendor \ yiisoft \ yii2 \ di \ Container.php (151): yii \ di \ Container-> build ('kartik \\ datecont ...', Array, Array) "," # 7 C : \ wamp \ www \ pub \ vendor \ yiisoft \ yii2 \ BaseYii.php (344): yii \ di \ Container-> get ('kartik \\ datecont ...', Array, Array) "," # 8 C: \ wamp \ www \ pub \ vendor \ yiisoft \ yii2 \ base \ Widget.php (97): yii \ BaseYii :: createObject (Array) "," # 9 C: \ wamp \ www \ pub \ поставщик \ yiisoft \ yii2 \ виджеты \ ActiveFie ld.php (665): yii \ base \ Widget :: widget (Array) "," # 10 C: \ wamp \ www \ pub \ views \ activite \ schedules.php (49): yii \ widgets \ ActiveField-> widget ('kartik \\ datecont ...', Array) "," # 11 C: \ wamp \ www \ pub \ vendor \ yiisoft \ yii2 \ base \ View.php (325): требуют ('C: \\ wamp \\ www \\ pub ...') "," # 12 C: \ wamp \ www \ pub \ vendor \ yiisoft \ yii2 \ base \ View.php (247): yii \ base \ View-> renderPhpFile ('C: \\ wamp \\ www \\ pub ...', Array) "," # 13 C: \ wamp \ www \ pub \ vendor \ yiisoft \ yii2 \ base \ View.php (149): yii \ base \ View-> renderFile ('C: \\ wamp \\ www \\ pub ...', Array, Объект (приложение \ контроллеры \ ActiviteController)) "," # 14 C: \ wamp \ www \ pub \ vendor \ yiisoft \ yii 2 \ base \ Controller.php (371): yii \ base \ View-> render ('schedules', Array, Объект (приложение \ контроллеры \ ActiviteController)) "," # 15 C: \ wamp \ www \ pub \ controllers \ ActiviteController.php (407): yii \ base \ Controller-> render ('schedules', Array) "," # 16 [internal function]: app \ controllers \ ActiviteController-> actionAddsch ('4 ') "," # 17 C: \ wamp \ www \ pub \ vendor \ yiisoft \ yii2 \ base \ InlineAction.php (55): call_user_func_array (Array, Array) "," # 18 C: \ wamp \ WWW \ паб \ поставщика \ yiisoft \ yii2 \ базы \ Controller.php (151): yii \ base \ InlineAction-> runWithParams (Array) "," # 19 C: \ wamp \ www \ pub \ vendor \ yiisoft \ yii2 \ base \ Module.php (455): yii \ base \ Controller-> runAction ('addch', Array) "," # 20 C: \ wamp \ www \ pub \ vendor \ yiisoft \ yii2 \ web \ Application.php (84): yii \ base \ Module- > runAction ('activite/addedch', Array) "," # 21 C: \ wamp \ www \ pub \ vendor \ yiisoft \ yii2 \ base \ Application.php (375): yii \ web \ Application-> handleRequest (Объект (yii \ web \ Request)) "," # 22 C: \ wamp \ www \ pub \ web \ index.php (12): yii \ base \ Application-> run() "," # 23 {main} "]}
Сначала у вас должно быть расширение 'kartik \ date \ DatePicker' для использования контроля даты. –
, поэтому вы имеете в виду, что мне также нужно установить kartik \ date \ DatePicker, kartik \ date \ TimePicker и kartik \ date \ DatetimePicker? – aidonsnous
Ошибка говорит, что вам нужно установить 'kartik-v/yii2-widgets' ** ИЛИ **' kartik-v/yii2-widget-datepicker' –