HEX
Server: Apache/2.4.6 (CentOS) mpm-itk/2.4.7-04 mod_fcgid/2.3.9 PHP/5.4.16
System: Linux dvm.vladweb.ru 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User: region-gk.ru (1016)
PHP: 8.2.27
Disabled: NONE
Upload Files
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();