File: //home/temp/yarusvl.ru/exchanger/xindao_product.php
<?php
/**
* Created by el.
* @autor: el
* @pakage: el
* @version: 0.1 23.08.18 15:46
* Date: 23.08.18
*/
require_once('config.php');
$mgc = new Mgc();
error_reporting(E_ALL);
ini_set("display_errors", 1);
$xml = validationXML(SOURCE_DIR . "xindao_products.xml");
$products = array();
$variants = array();
$importSupplier = new importSupplier(15/*"xindao"*/);
$update_marker = time();
foreach ($xml->xpath('//Раздел') as $item) {
$cdata = array(
'supplier_id'=>15,
'title'=>(string)$item->Наименование,
"parent_id"=>(string)$item->ИдРодителя,
"sup_id"=>(string)$item->Ид
// id supplier_id title sup_id parent_id cat_id
);
$cat_id = $importSupplier->import_inner_category($cdata);
$CATS[(int)$item->Ид] = (int)$cat_id;
}
/*var_dump($CATS);
exit;*/
foreach ($xml->xpath('//Товар') as $item) {
$products[(string)$item->ГруповойАртикул][(string)$item->Артикул] = $item;
}
foreach ($products as $ga => $variants) {
foreach ($variants as $articul => $item/*variant*/) {
$import = new stdClass;
$import->category = "Неразобранное";
$import->supplier_cat_ids = array();
$import->category_ids = array();
// $categ_id = (string)$item->category_id;
if(sizeof($variants)>1){
$import->name = explode(",",(string)$item->Наименование);
if(sizeof($import->name)>1)unset($import->name[sizeof($import->name)-1]);
$import->name = implode(",", $import->name);
}else {
$import->name = (string)$item->Наименование;
}
/* $import->update_marker = $update_marker;*/
$import->variant = (string)$item->Наименование;
$import->sku = (string)$item->Артикул;
$import->description = strlen((string)$item->ОписаниеРус) ? (string)$item->ОписаниеРус : "<p></p>";
$import->brand =(string)$item->Бренд;
$import->price = (string)$item->Цена;
$import->weight = $item->Характеристики->ВесНетто / 1000;
$import->material = (string)$item->Характеристики->Материал;
$import->size = trim((string)$item->Характеристики->Размер,' \t\n\r\0\x0B,.');
$import->color = (string)$item->Характеристики->Цвет;
//$import->id = null;
$import->vendor_ID = (string)$item->ГруповойАртикул;
$import->images = [];
$import->images[] = (string)$item->Характеристики->Фотография;
// по умолчанию
$import->category = "Неразобранное";
// categories
if($item->Разделы->Ид){
foreach ($item->Разделы->Ид as $sup_cats){
$import->supplier_cat_ids[]=(int)$sup_cats;
if(isset($CATS[(int)$sup_cats]) && intval($CATS[(int)$sup_cats])) $import->category_ids[] = $CATS[(int)$sup_cats];
}
$import->category_ids = array_unique($import->category_ids);
$import->supplier_cat_ids = array_unique($import->supplier_cat_ids);
if(sizeof( $import->category_id)) $import->category_id = reset( $import->category_ids);
}
foreach ($item->Фотографии->Фотография as $foto) {
$import->images[] = (string)$foto;
}
$nanesenie = array();
foreach ($item->ТипыНанесения->ТипНанесения as $type){
$nanesenie[(string)$type->Тип] = (string)$type->Тип;
}
$import->nanesenie = implode(", ",$nanesenie);
$is = $importSupplier->import_item($import);
if(!$is){
var_dump($import);
var_dump($is);
die("error"); }
// var_dump($is);
echo $is->variant->sku." ".$is->product->name." => ".$is->variant->name." ".$is->status.PHP_EOL;
echo PHP_EOL;
//echo $is->product." ".$is->vendor." ".$is->status.PHP_EOL;
}
}
$importSupplier->setInactive();