yii\helpers\BaseHtml загрузка файлов баг

Предварительное обсуждение найденных ошибок перед отправкой их авторам фреймворка, а также внесение новых предложений.
Ответить
cioxideru
Сообщения: 26
Зарегистрирован: 2012.03.05, 17:57

yii\helpers\BaseHtml загрузка файлов баг

Сообщение cioxideru »

Всем привет.
Сразу опишу проблему:

Есть задача заливать массив моделей, причем для каждой модели через behavior заливается своя картинка. т.е POST выглядит так:
User[1][name]=ivan
User[1][file_avatar]=
User[2][name]=fedya
User[2][file_avatar]=
Соотвественно для этой задачи я меняю name у атрибутов что бы все приходило массивом:

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

echo $form->field($model, 'name')->fileInput(['name'=>'User[1][name]']) 
echo $form->field($model, 'file_avatar')->textInput(['name'=>'User[1][file_avatar]']) 
Но данный код генерит неверый name для hidden поля fileInput, он пропускает [1]. Это легко увидеть в коде ниже:

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

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
Onotole
Сообщения: 1808
Зарегистрирован: 2012.12.24, 12:49

Re: yii\helpers\BaseHtml загрузка файлов баг

Сообщение Onotole »

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

echo $form->field($model, '[1]name')->fileInput()  
Ответить