[['bl'], 'file', 'extensions' => 'png, jpg, svg', 'maxFiles' => 2],
<?php $form = ActiveForm::begin(['options' => ['enctype' => 'multipart/form-data']]); ?>
<?= $form->field($model, 'title')->textInput(['maxlength' => true]) ?>
<?= $form->field($model, 'bl[]')->fileInput(['multiple' => true, 'accept' => 'image/*']) ?>
<div class="form-group">
<?= Html::submitButton('Сохранить', ['class' => 'btn btn-success']) ?>
</div>
<?php ActiveForm::end(); ?>
В базе храните путь к большому изображению, при создании маленького изображения добавляйте к названию файла "mini", например.
Тогда при выводе изображения Вам к названию файла надо будет добавить только "mini" и всё, а путь всегда будет один.
public function getImage($item, $dirtyAlias)
{
//Get params
$params = $data = $this->parseImageAlias($dirtyAlias);
$alias = $params['alias'];
$size = $params['size'];
$itemId = preg_replace('/[^0-9]+/', '', $item);
$modelName = preg_replace('/[0-9]+/', '', $item);
//Lets get image
if(empty($this->className)) {
$imageQuery = Image::find();
} else {
$class = $this->className;
$imageQuery = $class::find();
}
$image = $imageQuery
->where([
'modelName' => $modelName,
'itemId' => $itemId,
'urlAlias' => $alias
])
/* ->where('modelName = :modelName AND itemId = :itemId AND urlAlias = :alias',
[
':modelName' => $modelName,
':itemId' => $itemId,
':alias' => $alias
])*/
->one();
if(!$image){
return $this->getPlaceHolder();
}
return $image;
}