File: //home/bk/__backup/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();