Commit 9009e1b58a0140db1613d51531e86e98af09a688
1 parent
b257b524
fixed issue with xml parser - redid in universul manner
Showing
3 changed files
with
37 additions
and
16 deletions
Show diff stats
backend/controllers/ParserController.php
| ... | ... | @@ -52,6 +52,8 @@ class ParserController extends BaseController |
| 52 | 52 | |
| 53 | 53 | public function actionIndex($mode = 0) |
| 54 | 54 | { |
| 55 | +// $path = 'common\components\parsers\CustomConverter'; | |
| 56 | +// CustomVarDamp::dumpAndDie(new $path()); | |
| 55 | 57 | $model = new UploadFileParsingForm(); |
| 56 | 58 | // установим режим, 0 - ручная загрузка, 1 - автозагрузка |
| 57 | 59 | $model->mode = $mode; |
| ... | ... | @@ -81,7 +83,6 @@ class ParserController extends BaseController |
| 81 | 83 | try { |
| 82 | 84 | $files_model->save(); |
| 83 | 85 | } catch (ErrorException $e) { |
| 84 | - // CustomVarDamp::dump($e->getMessage()); | |
| 85 | 86 | throw $e; |
| 86 | 87 | } |
| 87 | 88 | // получим id только что записанной записи - его запишем в название файла | ... | ... |
backend/models/UploadFileParsingForm.php
| ... | ... | @@ -71,12 +71,14 @@ class UploadFileParsingForm extends Model |
| 71 | 71 | public function readFile( $options = [] ){ |
| 72 | 72 | |
| 73 | 73 | $data = Yii::$app->multiparser->parse( $this->file_path, $options ); |
| 74 | - if( !is_array( $data ) ){ | |
| 74 | + CustomVarDamp::dumpAndDie($data); | |
| 75 | + if( !is_array( $data ) || count($data) == 0 ){ | |
| 75 | 76 | throw new ErrorException("Ошибка чтения из файла прайса {$this->file_path}"); |
| 76 | 77 | } |
| 77 | 78 | // файл больше не нужен - данные прочитаны и сохранены в кеш |
| 78 | -// if( file_exists($this->file_path) ) | |
| 79 | -// unlink($this->file_path); | |
| 79 | + if( file_exists($this->file_path) ) | |
| 80 | + //@ todo - перестало работать - нет доступа на удалениев этом сеансе, в следующем - файл удаляется - разобраться | |
| 81 | + //unlink( $this->file_path ); | |
| 80 | 82 | |
| 81 | 83 | return $data; |
| 82 | 84 | } | ... | ... |
common/components/parsers/config.php
| ... | ... | @@ -14,7 +14,6 @@ |
| 14 | 14 | 'hasHeaderRow' => true, |
| 15 | 15 | 'converter_conf' => [ |
| 16 | 16 | 'class' => ' common\components\parsers\CustomConverter', |
| 17 | - 'hasKey' => 1, | |
| 18 | 17 | 'configuration' => ["string" => 'DESCR', |
| 19 | 18 | "float" => 'PRICE', |
| 20 | 19 | "brand" => 'BRAND', |
| ... | ... | @@ -54,21 +53,40 @@ |
| 54 | 53 | ['console' => |
| 55 | 54 | ['class' => 'yii\multiparser\XmlParser', |
| 56 | 55 | 'node' => 'Товар', |
| 56 | + 'hasHeaderRow' => true, | |
| 57 | + 'keys' => [ | |
| 58 | + "BRAND" => 'Производитель', | |
| 59 | + "ARTICLE"=> 'Код', | |
| 60 | + "PRICE" => 'Розница', | |
| 61 | + "DESCR" => 'Наименование', | |
| 62 | + "BOX" => 'Колво', | |
| 63 | + "ADD_BOX"=> 'Ожидаемое', | |
| 64 | + "GROUP" => 'Группа' | |
| 65 | + ], | |
| 57 | 66 | 'converter_conf' => [ |
| 58 | - 'class' => ' common\components\parsers\CustomConverter', | |
| 59 | - 'hasKey' => 1, | |
| 67 | + 'class' => 'common\components\parsers\CustomConverter', | |
| 60 | 68 | 'configuration' => ["details" => [] |
| 61 | 69 | ],], |
| 62 | 70 | ], |
| 63 | - 'basic_column' => [ | |
| 64 | - "BRAND" => 'Производитель', | |
| 65 | - "ARTICLE"=> 'Код', | |
| 66 | - "PRICE" => 'Розница', | |
| 67 | - "DESCR" => 'Наименование', | |
| 68 | - "BOX" => 'Колво', | |
| 69 | - "ADD_BOX"=> 'Ожидаемое', | |
| 70 | - "GROUP" => 'Группа' | |
| 71 | - ], | |
| 71 | + 'web' => | |
| 72 | + ['class' => 'yii\multiparser\XmlParser', | |
| 73 | + 'node' => 'Товар', | |
| 74 | + 'hasHeaderRow' => true, | |
| 75 | + 'keys' => [ | |
| 76 | + "BRAND" => 'Производитель', | |
| 77 | + "ARTICLE"=> 'Код', | |
| 78 | + "PRICE" => 'Розница', | |
| 79 | + "DESCR" => 'Наименование', | |
| 80 | + "BOX" => 'Колво', | |
| 81 | + "ADD_BOX"=> 'Ожидаемое', | |
| 82 | + "GROUP" => 'Группа' | |
| 83 | + ], | |
| 84 | + 'converter_conf' => [ | |
| 85 | + 'class' => 'common\components\parsers\CustomConverter', | |
| 86 | + 'configuration' => ["details" => [] | |
| 87 | + ],], | |
| 88 | + ], | |
| 72 | 89 | ], |
| 90 | + | |
| 73 | 91 | ]; |
| 74 | 92 | ... | ... |