Fileinput kartil-v кнопка remove

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
long399
Сообщения: 96
Зарегистрирован: 2019.08.13, 08:03
Откуда: г. Новосибирск

Fileinput kartil-v кнопка remove

Сообщение long399 »

Доброго времени суток.

Использую виджет Fileinput на форме (ActiveForm) для добавления фотографии.
Если фотография уже имеется (редактируем модель) вывожу ее превью в данный виджет, слиянием массивов.

Код: Выделить всё

$pluginOptions = [];
if(!$model->isNewRecord) {
    $pluginOptions['initialPreview'] = $preview_url;
    $pluginOptions['initialCaption'] = $model->title;
}

echo $form->field($model, 'image')->widget(FileInput::class, [
    'name' => 'user-photo',
    'pluginOptions' => ArrayHelper::merge($pluginOptions, [
        'initialPreviewAsData' => true,
        'overwriteInitial' => true,
        'maxFileSize' => 4096, // 4 Mb
        'previewFileType' => 'image',
        'showUpload' => false,
    ]),
    'options' => ['accept' => 'image/*'],
]);
Если вместо имеющийся фотографии я хочу загрузить новую, то добавив ее, в виджете появляется ее превью (превью старой фотки убирается, т.к. прописана опция 'overwriteInitial' => true) и еще появляется кнопка "удалить", нажав которую превью новой фотографии удаляется. И остается пустая drag-drop зона, с надписью "перетащите файлы сюда". Но мне бы хотелось возвращать исходное превью (существующей фотографии, которая уже есть у редактируемой модели). Подскажите, пожалуйста, как это реализовать?

p.s. надеюсь понятно объяснил.
Ответить