Версия: 6.x
burger close
Класс ImportYmlApi
Граф наследования:ImportYmlApi:
BaseModel

Подробное описание

Предоставляет возможности для импорта данных из YML файлов

Открытые члены

 __construct ()
 
 setCostId ($cost_id)
 
 getCostId ()
 
 setOldCostId ($cost_id)
 
 getOldCostId ()
 
 setSiteId ($site_id)
 
 setTimeout ($sec)
 
 loadLocalStorage ()
 
 saveLocalKey ($key, $value=null)
 
 flushLocalStorage ()
 
 uploadFileFromUrl ($url)
 
 uploadFile ($file)
 
 process ($step_data)
 
 getSteps ($step_data)
 
 check ($dirs, $id)
 
 getIdByXmlId ($xml_id)
 
 checkWriteRights ()
 
 getProductIdentificationId ($reader)
 
 getOfferIdentificationId ($reader)
 
 newPItem ($type, $title, $xml_id)
 
 newPLink ($pp_id, $val_type, $val, $p_id, $xml_id)
 
 genXmlId ($str)
 
 cleanTemporaryDir ()
 
 getStatistic ()
 
 getXmlIds ()
 
 afterImportProducts ()
 
 afterImportDirs ()
 
- Открытые члены унаследованные от BaseModel
 addError ($message, $fieldname=null, $form=null)
 
 hasError ()
 
 getErrors ()
 
 cleanErrors ()
 
 getDisplayErrors ()
 
 getErrorsStr ()
 
 getFormErrors ($form, $separator= ', ')
 
 getNonFormErrors ($separator= ', ')
 
 exportErrors ()
 
 importErrors ($data)
 

Поля данных

const YML_ID_PREFIX = "yml_"
 
const DELETE_LIMIT = 100
 
const VENDOR_CODE = "vendor_code"
 
 $storage
 
 $xmlIds
 
 $cachecheck = []
 
- Поля данных унаследованные от BaseModel
 $form_fieldname = []
 
 $errors_by_form = []
 
 $errors_non_form = []
 
 $errors = []
 

Защищенные данные

 $site_id
 
 $cost_id = 0
 
 $old_cost_id = 0
 
 $timeout
 
 $config
 
 $allow_ext = ['yml', 'xml']
 
 $tmp_data_file = 'data.tmp'
 
 $log
 
 $yml_name = 'tmp.yml'
 
 $yml_folder
 
 $yml_folder_rel = '/storage/tmp/importyml'
 
 $start_time
 
 $params_fields
 
- Защищенные данные унаследованные от BaseModel
 $default_error_fieldname = 'Информация'
 

Конструктор(ы)

__construct ( )

Методы

afterImportDirs ( )

Выполняет дествия с категориями, которых не было в YML файле в зависимости от настроек

Возвращает
bool
afterImportProducts ( )

Выполняет дествия с товарами, которых не было в YML файле в зависимости от настроек

Возвращает
bool
check (   $dirs,
  $id 
)
checkWriteRights ( )

Проверяет права на запись

Возвращает
bool|string
cleanTemporaryDir ( )

Очищает временную директорию

Возвращает
void
flushLocalStorage ( )
genXmlId (   $str)

Генерирует xml_id

Аргументы
string$str
Возвращает
string
getCostId ( )
Возвращает
integer
getIdByXmlId (   $xml_id)
getOfferIdentificationId (   $reader)

Возвращает поле, по которому происходит идентификация продукта при импорте из YML

Аргументы
\XMLReader$reader
Возвращает
string
getOldCostId ( )

Возвращает ID зачеркнутой цены

Возвращает
integer
getProductIdentificationId (   $reader)

Возвращает поле, по которому происходит идентификация продукта при импорте из YML

Аргументы
\XMLReader$reader
Возвращает
string
getStatistic ( )

Возвращает массив со статистическими данными об импорте

Возвращает
array
getSteps (   $step_data)

Возвращает список шагов, которые будут выполнены во время импорта

Аргументы
array$step_data- параметры импорта
Возвращает
array
getXmlIds ( )

Возвращает массив, в котором в ключе находится внешний xml_id товара, а в значении id товара в ReadyScript

Возвращает
array
loadLocalStorage ( )

Загружает временные данные текущего импорта

Возвращает
array
newPItem (   $type,
  $title,
  $xml_id 
)

Создает характеристику

Аргументы
string$typeтип характеристики
string$titleназвание характеристики
string$xml_idxml идентификатор характеристики
Возвращает
объект характеристики
newPLink (   $pp_id,
  $val_type,
  $val,
  $p_id,
  $xml_id 
)

Создает связь характеристики с товаром

Аргументы
string$pp_idid характеристики
string$val_typeтип значения характеристики
string$valзначение или id значения(если списковая)
string$p_idid товара
string$xml_idxml идентификатор
Возвращает
объект связи характеристики с товаром
process (   $step_data)

Выполняет один шаг импорта

Аргументы
array$step_dataМассив с параметрами импорта: [ 'upload_image' => bool, //Загружать изображения или нет 'step' => integer, //номер текущего шага 'offset' => integer //количество обработанных раннее элементов в шаге ]
Возвращает
array | bool Если возвращает array, то это означает что необходимо выполнить следующий шаг импорта с данными параметрами Если возвращает false, значит во время импорта произошла ошибка Если возвращает true, значит импорт завершен
saveLocalKey (   $key,
  $value = null 
)

Сохраняет подготовленную информацию $value под ключом $key

Аргументы
mixed$key
mixed$value
Возвращает
self
setCostId (   $cost_id)
Аргументы
$cost_id
setOldCostId (   $cost_id)

Устанавливает зачеркнутую цену

Аргументы
integer$cost_id- ID цены
setSiteId (   $site_id)

Устанавливает сайт, для которого будет происходить импорт данных

Аргументы
integer$site_id- ID сайта
Возвращает
void
setTimeout (   $sec)

Устанавливает время работы одного шага импорта

Аргументы
integer$sec- количество секунд. Если 0 - то время шага не контролируется
Возвращает
void
uploadFile (   $file)

Загружает данные из YML файла в XMLReader

Аргументы
array$file- файл в формате YML
Возвращает
boolean
uploadFileFromUrl (   $url)

Загружает YML файл в XMLReader из URL

Аргументы
string$url- URL файла
Возвращает
bool

Поля

$allow_ext = ['yml', 'xml']
protected
$cachecheck = []
$config
protected
$cost_id = 0
protected
$log
protected
$old_cost_id = 0
protected
$params_fields
protected
Инициализатор
= [
'delivery' => 'Доставка'
$site_id
protected
$start_time
protected
$storage
$timeout
protected
$tmp_data_file = 'data.tmp'
protected
$xmlIds
$yml_folder
protected
$yml_folder_rel = '/storage/tmp/importyml'
protected
$yml_name = 'tmp.yml'
protected
const DELETE_LIMIT = 100
const VENDOR_CODE = "vendor_code"
const YML_ID_PREFIX = "yml_"