mode ) { // автозагрузка, проставим сценарий $this->scenario = 'auto'; } } public function rules() { return [ ['importer_id', 'required', 'message' => 'Не указан поставщик!' ], ['file', 'required', 'message' => 'Не выбран файл!' ], //@todo - not working this file validator!!! - fixed [['file'], 'file'],// 'extensions' => ['csv', 'xml'] ], // 'wrongMimeType' => 'Указан неподдерживаемый тип файла. Можно выбирать csv, xml файлы.' ], ['importer_id', 'integer','max' => 999999, 'min' => 0 ], [['action','delete_prefix', 'delete_price', 'success'], 'boolean', 'except' => 'auto' ], // только для ручной загрузки ['delimiter', 'string', 'max' => 1], [['mode','record_id'], 'safe'], ['delimiter', 'default', 'value' => ';'], [ 'success', 'default', 'value' => false] ]; } public function attributeLabels() { return [ 'file' => Yii::t('app', 'Источник'), 'importer_id' => Yii::t('app', 'Поставщик'), 'delimiter' => Yii::t('app', 'Разделитель'), ]; } public function readFile( $options = [] ){ $data = Yii::$app->multiparser->parse( $this->file_path, $options ); if( !is_array( $data ) ){ $data = ['No results']; } return $data; } public function fields() { return [ 'importer_id', 'delimiter', 'delete_price', 'delete_prefix', 'file_path', // id записи таблицы ImportersFiles, // 'id' => 'record_id', ]; } }