четверг, 28 января 2021 г.

Файл загрузки csv товаров в Битрикс 24 с галереей

Полученный csv файл можно скачать здесь

Оперативный файл http://consul.watch/Yml_yandex/csv_bitrix24.php

Статический http://consul.watch/Yml_yandex/csvbitrix24.csv


 <?php 

session_start(); //require_once "../connect3.php";  

$link=mysql_connect ('*****:33306', '*********', '*********');

if (!$link)

{

echo "не могу соединиться 1111"; 

exit();

}

if (!mysql_select_db("consul",$link))

{

echo "не могу выбрать бд222";

exit();

}

else

 mysql_query("set names cp1251");

}

function p($s){ echo '<p>'.count($s)."<pre>"; print_r($s); echo "</pre>"; }

function i($s)

{

$s=iconv('cp1251','utf8',$s);

$s=str_replace('&','&amp;',$s);

return $s;

}

$coz="SELECT id, name FROM `s_categories`";

$res=mysql_query($coz,$link);

while($mas=mysql_fetch_row($res))

{

$categories[]=$mas;

}

$coz="SELECT p.id, p.name, p.body, p.url, v.sku, v.price, v.compare_price, pc.category_id, c.name, o.feature_id, o.value, i.filename, p.barcode, b.barcode, p.brand_id, bb.prefix, pw.amount, pw.consul_address_id, ass.site_id, ca.type

FROM product_warehouse pw

LEFT JOIN s_products p ON p.id = pw.product_id

AND STATUS != 'withdrawn'

JOIN s_variants v ON p.id = v.product_id  AND v.price>100000 AND v.price<500000 

AND v.compare_price IS NULL

LEFT JOIN s_products_categories pc ON p.id = pc.product_id

LEFT JOIN s_categories c ON c.id = pc.category_id

LEFT JOIN s_options o ON o.feature_id =160

AND p.id = o.product_id

JOIN s_images i ON p.id = i.product_id

LEFT JOIN barcode b ON b.sku = v.sku

LEFT JOIN s_brands bb ON p.brand_id = bb.id

JOIN consul_address_sites ass ON ass.entity_id = pw.consul_address_id

AND ass.site_id =1

LEFT JOIN consul_address ca ON pw.consul_address_id = ca.id

AND ca.type = 'shop'

GROUP BY p.id LIMIT 100

";

unset($s);

$res=mysql_query($coz,$link);

while($mas=mysql_fetch_row($res))

{

$s[$mas[0]]=$mas;

}

$a='ID;Внешний код;Название;Символьный код;Описание;Активен;Валюта;Цена;Единица измерения;Раздел (уровень 1);Раздел (уровень 2);Раздел (уровень 3);Картинка для анонса;Детальная картинка;Новинка;Лидер продаж;Спецпредложение;Артикул;Производитель;Материал;Бренд;Пол;Картинки галереи;Фоновая картинка для шаблона

1001;v1;TAG Heuer Carrera WAR211B.FC6181;p1;Часы TAG Heuer Carrera WAR211B.FC6181 Товар для демонстрации импорта;да;RUB;171000;шт;Товар;Часы;Tag Heuer;https://www.consul.ru/files/products/war211b_fc6181_2.800x600w.jpg;https://www.consul.ru/files/products/war211b_fc6181.800x600w.jpg;нет;нет;нет;WAR211B.FC6181;Швейцария;Сталь;Tag Heuer;Детский;https://www.consul.ru/files/products/war211b_fc6181_3.800x600w.jpg;https://www.consul.ru/files/products/war211b_fc6181.800x600w.jpg

';

foreach($s as $k=>$v)

{{{

$v[0]=trim($v[0]);

$v[3]=trim(i($v[3]));

$id++;

if(!eregi(' ',$v[3]) and $v[5]>0 

and !eregi(' ',trim($v[11]))

and $v[0]!=16973 

and $v[0]!=53235

and $v[0]!=20023

and $v[0]!=17602

and $v[0]!=60018

and $v[0]!=66024

and $v[0]!=66705

and $v[0]!=66663

and $v[0]!=66664

and $v[0]!=66665

and $v[0]!=58875

and $v[0]!=18018

and $v[0]!=17600

and $v[0]!=16795 and $v[19]=='shop'

)

$des=ereg_replace('<[^<]*[>]','',i($v[2]));

$des=ereg_replace(';','',$des);

$iii='https://www.consul.ru/files/products/'.trim(str_replace('.','.430x510w.',$v[11]));

$aa_nnn[trim($v[3])]= (2000+$id).';v'.$id.';'.i($v[1]).';'.i($v[4]).';Описание товара;да;RUB;'.round($v[5]).';шт;Товар;Часы;'.i($v[10]).';'.$iii.';;нет;нет;нет;'.i($v[4]).';Швейцария;Сталь;'.i($v[10]).';Мужской;;

';

$coz="SELECT * FROM `s_images` WHERE `product_id` = ".$v[0]." ORDER BY `product_id` ASC";

$res=mysql_query($coz,$link);

while($mas=mysql_fetch_row($res))

{

$aa_nnn[trim($v[3])].= (2000+$id).';v'.$id.';;;;;;;;;;;;;;;;;;;;;https://www.consul.ru/files/products/'.$mas[3].';

';

}

}}}

foreach($aa_nnn as $k=>$v)

$a.=$v;

$a.='';

file_put_contents('csvbitrix24.csv',$a);

echo $a;

mysql_close($link);

?>

Комментариев нет:

Отправить комментарий