Проблема с картиковским файл-инпутом. Первый файл без значений аттрибутов data-url и data-key

Проблема с картиковским файл-инпутом(kartik-v/bootstrap-fileinput): загружаю первое изображение - к нему не добавляются аттрибуты data-url и data-key (хотя в респонсе сервера они прилетают), ко всем последующим - все нормально. Кто-то сталкивался с таким? Куда копать?

Вьюшка:

<? $form = ActiveForm::begin([
    'id' => 'form-update',
    'enableClientValidation' => false,
    'validateOnSubmit' => true,
    'action' => Url::to(['update', 'id' => $model->id]),
    'options' => [
        'name' => 'items',
        'autocomplete' => 'off',
    ],
    'fieldConfig' => [
        'template' => "{label}<div>{input}<span class=\"help-block hidden\"></span></div>",
    ],
]); ?>
  <?= $form->errorSummary($model); ?>
    <?php
$name = Images::TYPE_GOODS;
$type = Images::$params[Images::TYPE_GOODS];
$field = 'image';
$initialPreview = array();
$id = array();
if (!$model->isNewRecord) {
    $images = $model->getImagesByName($name);
    if (is_array($images)) {
        foreach ($images as $value) {
            $id[] = array(
                'frameClass' => (!Yii::$app->params['catalogItemsChangeImage']) ? 'hidden-remove' : null,
                'url' => '/upload/delete',
                'key' => $value['id'],
                'extra' => array(
                    'id' => $value['itemId'],
                    'model' => $model::className()
                )
            );
            $value['id'];
            $initialPreview[] = $value->getUrl('120x120');
        }
    }
} else {
    $images = $model->getImagesByNameAttach($name);
    if (is_array($images)) {
        foreach ($images as $value) {
            $id[] = array(
                'url' => '/upload/delete',
                'key' => $value['id'],
                'extra' => array(
                    'id' => $value['itemId'],
                    'model' => $model::className()
                )
            );
            $value['id'];
            $initialPreview[] = $value->getUrlAttach();
        }
    }
}
?>
      <?= $form->field($model, $field)->widget(FileInput::class,
    [
        'options' => ['accept' => 'image/*'],
        'pluginOptions' => [
            'allowedExtensions' => ['jpg', 'gif', 'png'],
            'initialPreview' => $initialPreview,
            'initialPreviewAsData' => true,
            'initialPreviewConfig' => $id,
            'overwriteInitial' => false,
            'previewFileType' => 'image',
            'showCaption' => false,
            'showCancel' => false,
            'showUpload' => false,
            'browseClass' => 'btn btn-default btn-sm',
            'browseLabel' => Yii::t('app', 'Обзор'),
            'removeClass' => 'btn btn-danger btn-sm',
            'removeLabel' => Yii::t('app', 'Удалить'),
            'removeIcon' => '<i class="fa fa-trash"></i>',
            'append' => true,
            'maxFileCount' => $type['max'],
            'validateInitialCount' => true,
            'minImageHeight' => $type['min_height'],
            'minImageWidth' => $type['min_width'],
            'uploadUrl' => '/upload/upload',
            'uploadAsync' => true,
            'uploadExtraData' => [
                'model' => $model::className(),
                'id' => ($model->isNewRecord) ? '' : $model->id,
                'name' => $name,
                'field' => $field,
                'max' => $type['max']
            ],
        ],
        'pluginEvents' => [
            'filebatchselected' => 'function(event, data) {
                jQuery("#'. $fileinput .'-image").fileinput("upload");
            }',
            'filesorted' => 'function(event, params) {
                for(var i in params.stack){
                    var index = parseInt(i) + parseInt(1);
                    $.ajax({
                        type: "GET",
                        url: "/upload/change-position",
                        data: "id="+params.stack[i].key+"&position="+index,
                        success: function(data) {}
                    });
                }
            }',
        ]
    ]) ?>
        <?php ActiveForm::end()?>

Контроллер UploadController:

public function actionUpload()
    {
        if (Yii::$app->request->isAjax) {
            $model_name = $_POST['model'];
            if (!empty($_POST['id'])) {
                $model = $model_name::findOne($_POST['id']);
            } else {
                $model = new $model_name();
            }

            $image = UploadedFile::getInstances($model, $_POST['field']);

            $count = array();
            foreach ($model->getImagesByName($_POST['name']) as $value) {
                if (!empty($value->id)) {
                    $count[] = $value->id;
                }
            }

            if (count($count) < (int)$_POST['max']) {
                if (!empty($image)) {
                    if (is_array($image)) {
                        $path = $_SERVER['DOCUMENT_ROOT'] . '/frontend/web/uploads/files/' . $model->id . '0.' . $image[0]->name;
                        move_uploaded_file($image[0]->tempName, $path);
                        $result = $model->attachImage($path, false, $_POST['name'], $image[0]->name);
                        unlink($path);
                    }

                    return Json::encode([
                        'initialPreview' => [
                            '/uploads/store/' . $result->filePath
                        ],
                        'initialPreviewAsData' => true,
                        'initialPreviewConfig' => [
                            [
                                'url' => '/upload/delete',
                                'key' => $result->id,
                                'extra' => array(
                                    'id' => ($model->isNewRecord) ? 0 : $model->id,
                                    'model' => $model_name
                                )
                            ]
                        ]
                    ]);
                }
            } else {
                return Json::encode(array('error' => 'Max file'));
            }
        }
        return Json::encode('');
    }

Ответы (0 шт):