Exebeche
@Exebeche
Осваиваю программирование

Как настроить импорт excel для импорта товаров с картинками?

Прикрутил расширение для импорта/экспорта excel, чутка подшаманил и заработало, но все товары без картинок, а это не есть гут, когда много товаров. Да и вообще не комильфо...
Расширение поставил uranum/yii2-excel-exchange
Экшен:
public function actionImportExcel()
    {
        $inputFile = 'uploads/export.xlsx';
        try{
            $inputFileType = \PHPExcel_IOFactory::identify($inputFile);
            $objReader = \PHPExcel_IOFactory::createReader($inputFileType);
            $objPHPExcel = $objReader->load($inputFile);
        } catch (\DomainException $e) {
            die('Error');
        }

        $sheet = $objPHPExcel->getSheet(0);
        $highestRow = $sheet->getHighestRow();
        $highestColumn = $sheet->getHighestColumn();

        for($row=1; $row <= $highestRow; $row++)
        {
            $rowData = $sheet->rangeToArray('A'.$row.':'.$highestColumn.$row,NULL,TRUE,FALSE);

            if($row==1)
            {
                continue;
            }

            $product = new Product();
            $product->brand_id = $rowData[0][0];
            $product->category_id  = $rowData[0][1];
            $product->code  = $rowData[0][2];
            $product->name  = $rowData[0][3];
            $product->description  = $rowData[0][4];
            $product->price_new  = $rowData[0][5];
            $product->price_min  = $rowData[0][6];
            $product->price_roll  = $rowData[0][7];
            $product->meta = new Meta($rowData[0][8],
                                    $rowData[0][9],
                                    $rowData[0][10]
                                );
            $product->status  = $rowData[0][11];
            $product->quantity  = $rowData[0][12];
            $product->min_long  = $rowData[0][13];
            $product->roll_long  = $rowData[0][14];
            $product->created_at = time();
            $product->save();

            print_r($product->getErrors());
        }
        return $this->render('index');
    }


Как видно из кода мета теги подгружаются через отдельную модель. Пробовал таким Макаром с фотами, но... Файлам же нужна форма с enctype=multipart\formdata, а как ее из файла импорта получить что-то не пойму..

Может быть есть расширения получше?
Да и сам код понять хотелось бы
  • Вопрос задан
  • 387 просмотров
Пригласить эксперта
Ответы на вопрос 1
Cobalt666
@Cobalt666
начальная разработка на YII2
Ну как успехи комрад?
Тоже бьюсь с картинками, правда не через этот модуль.
этот модуль совсем не алее
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы