File: //home/temp/yarusvl.ru/exchanger/happygifts_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 . "happygifts_products.xml");
$products = array();
$variants = array();
$importSupplier = new importSupplier(14/*"happygifts"*/);
$update_marker = time();
//var_dump($xml);
foreach ($xml->xpath('//Группа') as $item) {
$cdata = array(
'supplier_id'=>14,
'title'=>(string)$item->Наименование,
"parent_id"=>(string)$item->ИдРодителя,
"sup_id"=>(string)$item->Ид
// id supplier_id title sup_id parent_id cat_id
);
echo (string)$item->ИдРодителя." ".(string)$item->Ид." ".(string)$item->Наименование.PHP_EOL;
$cat_id = $importSupplier->import_inner_category($cdata);
$CATS[(string)$item->Ид] = (string)$cat_id;
}
//exit;
/**
* <Бренд>
<ИД>e4adf421-eb54-11e0-ae3a-001871eb2973</ИД>
<Код>000000020</Код>
<Наименование>Custom</Наименование>
</Бренд>
*/
$BRANDS = array();
foreach ($xml->xpath('//Бренд') as $item) {
$BRANDS[(string)$item->Ид] =(string) $item->Наименование;
}
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 = $import->name[0];
}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 = isset($BRANDS[(string)$item->Бренд])?$BRANDS[(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) 'ftp://clients:cLiENts2010@ftp.ipg.su/clients/Pictures/300x300/'.(string)$item->ИД.'.jpg';;
// по умолчанию
$import->category = "Неразобранное";
/**
* Остановился ТУТ
*/
// categories
if($item->ИДРодителя){
$import->supplier_cat_ids[]=(string)$item->ИДРодителя;
if(isset($CATS[(string)$item->ИДРодителя]) ) $import->category_ids[] = $CATS[(string)$item->ИДРодителя];
$import->category_ids = array_unique($import->category_ids);
$import->supplier_cat_ids = array_unique($import->supplier_cat_ids);
if(isset($CATS[(string)$item->ИДРодителя]) ) $CATS[(string)$item->ИДРодителя];
}
$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;
// exit;
//echo $is->product." ".$is->vendor." ".$is->status.PHP_EOL;
}
}
$importSupplier->setInactive();