Для загрузки изображений на сайт использую виджет kartik\file\FileInput. Установил, сделал базовую настройку и все работает. Теперь появились вопросы, которых нет в документации:
1. Нужно текстовое поле для задания имени файла на сервере (т.е. загрузка с последующим переименованием). В виджете есть свойство caption, которое для этого идеально бы подошло, но оно только для чтения.
2. При редактировании записи передаю в initialPreview массив с img-тегом. Появляется предпросмотр, но выползяет за рамки вшенего div. Приходится руками добавлять стили:
Код: Выделить всё
<?= $form->field($model, 'uploadedFile')->widget(FileInput::className(), [
'options' => [
'accept' => 'image/*',
'multiple' => false
],
'pluginOptions' => [
'showPreview' => true,
'showCaption' => true,
'showRemove' => true,
'showUpload' => false,
'initialCaption' => $model->logo,
'initialPreview' => $model->logo ? [Html::img($model->getLogoUrl(), [
'style' => 'width: auto; height: auto; max-width: 100%; max-height: 100%'
]
)] : [],
'overwriteInitial' => true,
],
]);?>