Сразу опишу проблему:
Есть задача заливать массив моделей, причем для каждой модели через behavior заливается своя картинка. т.е POST выглядит так:
Соотвественно для этой задачи я меняю name у атрибутов что бы все приходило массивом:User[1][name]=ivan
User[1][file_avatar]=
User[2][name]=fedya
User[2][file_avatar]=
Код: Выделить всё
echo $form->field($model, 'name')->fileInput(['name'=>'User[1][name]'])
echo $form->field($model, 'file_avatar')->textInput(['name'=>'User[1][file_avatar]'])
Код: Выделить всё
class yii\helpers\BaseHtml
{
....
public static function activeFileInput($model, $attribute, $options = [])
{
// add a hidden field so that if a model only has a file field, we can
// still use isset($_POST[$modelClass]) to detect if the input is submitted
return static::activeHiddenInput($model, $attribute, ['id' => null, 'value' => '']) //@todo:вот тут не передается $options соотвественно не подключается правильный name. потому что name резолвится из атрибута, а его надо передать напрямую...
. static::activeInput('file', $model, $attribute, $options);
}
....
}
yii 2.0.6