Заходим на
https://www.consul.devh/simpla/index.php?module=zPartners
контроллер zPartners.php
Для нашей Simple запускается function ajax() если xtreqwest
function fetch() по умолчанию
поняли что пришел post запрос
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_defaultconvert_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)) {
Результат: получен файл, распарсен и записан в базу.
Комментариев нет:
Отправить комментарий