вторник, 11 июня 2019 г.

Распариивание эксель файла

Заходим на
https://www.consul.devh/simpla/index.php?module=zPartners
контроллер zPartners.php

Для нашей Simple запускается function ajax() если xtreqwest
function fetch() по умолчанию

поняли что пришел post запрос
if ($this->request->method('post')) {  $this->process_post();

function process_post() выбор режима кнопки
коммутация $result = $this->partners->parse_price($partner, $temp_file,
    $_FILES['upload_file_' . $partner->id]['name']);unlink($temp_file);

выбрали перешли process_partner('refresh', $partner);
$this->design->assign('partners', $this->partners->get_partners([], TRUE));
коммутация

****************
в смарти передали и выполнили парсинг
$this->partners->get_partners([], TRUE))

function get_partners( считывает и дозаполняет sql
****************

передаем файл $excel_file и класс $partner
public function parse_price($partner, $excel_file, $original_filename = NULL) {
###
как выбирается метод defult csv xls

function parse_price
return call_user_func([$this, $convert_method_name], $excel_file);
превращает $convert_method_name=
convert_file_default
convert_file_to_xls
convert_file_to_csv
и вызываются эти функции
###

считываем строку название файла класса
$parser_class = $partner->pricelist_parser_class;

создаем массив строк
$result = $parser->run(function ($row_data, $parser)

правим
$row_data[ дозаполняем

сохраняем строку в базу временную
if ($this->save_parsed_row_to_temp($row_data)) {

Результат: получен файл, распарсен и записан в базу.




Комментариев нет:

Отправить комментарий