Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Нужна по мощь по API перенос товаров и их предложений SKU в базу данных Битрикс

00 голосов
5
Добрый день!
Давно написал скрипт переноса товаров из старой базы самописного сайта в базу Битрикс.
Всё перенеслось кроме футболок - ими я не занимался пока.

Сейчас же стоит задача перенести еще и футболки.
Как вывести нужные предложения этих футболок - знаю!
(вот например http://nashformat.ua/tessssssssssssss.php - по срединке товар, ниже списком - его предложения).

Но как правильно перенести еще и ихние предложения (товары списком) - не знаю =)

Подскажите, если такое есть, API функции что бы "захватить" товары, что идут списком, и благополучно вписать их в инфоблок торговых предложений для футболок =) (инфоблок создан, привязка к футболкам стоит)

Рад буду любым ответам!
спросил 19 Авг, 13 от Lollipopk (660 баллов)

5 Ответы

00 голосов
Самый простой вариант. Заполнить инфоблок товаров, в XML_ID сохраняя ID товара из старой базы (или как там реализована привязка предложений к товарам). Вторым проходом выбираете предложения из старой базы, определяетt по XML_ID привязку к новому ID товара и сохраняете предложения во второй инфоблок (CIBlockElement::Add(), CCatalogProduct::Add(), CPrice::Add()).
ответил 19 Авг, 13 от Pomnep (13,960 баллов)
00 голосов
Посмотрите пожалуйста как выводил майки:
Код
<?
CModule::IncludeModule("iblock");
// тут подключение к старой базе, подключение записал в переменную $db
$result = mysql_query("SELECT * 
FROM  `nf_products` 
WHERE  `category` LIKE  'sportshirts'
ORDER BY  `nf_products`.`date` DESC 
LIMIT 0 , 100",$db); // выбираем товары
$myrow = mysql_fetch_array($result);

$i=1;
  do { 
     ////// считывание нужных полей///////////////////////////
     $name[$i] = $myrow['name']; // имя
     $key[$i]= $myrow['key']; // ключ товара
     $articul[$i] = $myrow['product_code'];  // артикул товара
     $image1[$i]= $myrow['picture']; // маленькая картинка
     $image[$i]= $myrow['big_picture']; // большая картинка
     $PRICE[$i]= $myrow['price']; // цена
     $opis[$i]=$myrow['ua_description']; // описание
     ///////////////// /////////////////////////////////////////

     echo "<h4>".$myrow['name']." </h4>"."<div align='center'><img src='products_pictures/".$myrow['picture']."'></div>" ."<br>";
     $a=$myrow['key'];
     $result1 = mysql_query("SELECT * 
     FROM  `nf_sportshirts` 
     WHERE  parent_id='$a' 
     LIMIT 0 , 100",$db);
     if ($result1) {
                      $myrow1 = mysql_fetch_array($result1);
                      echo "<ul>";
                        do { 
                             echo "<li>"."<img src='products_pictures/".$myrow1['image']."'>" ."Колір: ".$myrow1['color']." Розмір: ".$myrow1['size']."</li>";
                           } while ($myrow1 = mysql_fetch_array($result1));
                      echo "</ul>";
                     };

                     $i++ ;
    } while ($myrow = mysql_fetch_array($result));

?>

думаю вместо функций
Цитата
echo
, нужно использовать API вставки в нужный инфоблок - что бы заполнить все сразу с одного прохода =)
что касается привязки, тут есть поле parent_id в котором хранится ключ товара.
ответил 29 Окт, 13 от Lollipopk (660 баллов)
00 голосов
Цитата
Олег Іванюк пишет:
$myrow['key']
- это и использовать в качестве XML_ID товара.
Цитата
Олег Іванюк пишет:
echo "[*]"."<img src='products_pictures/".$myrow1['image']."'>" ."Колір: ".$myrow1['color']." Розмір: ".$myrow1['size']."</li>";

А цена у Вас для всех комбинаций одинакова что ли? Зачем тогда огород с SKU городить? Сделайте комбинацию Размер-Цвет свойством товара и все.
ответил 02 Фев, 14 от Pomnep (13,960 баллов)
00 голосов
Цитата
Сделайте комбинацию Размер-Цвет свойством товара и все.


а можно по подробнее?

Это позволит покупателю показывать соответствующее фото товара + артикулы?
На старом сайте цена была одна, на новом - теперь подумаем =)
ответил 22 Май, 14 от Lollipopk (660 баллов)
00 голосов
Цитата
Олег Іванюк пишет:
Это позволит покупателю показывать соответствующее фото товара + артикулы?

Теоретически да, практически много допиливать придется в публичке.
Цитата
Олег Іванюк пишет:
На старом сайте цена была одна, на новом - теперь подумаем

С использованием SKU показывать соотв фото и артикулы - без проблем
ответил 18 Сен, 14 от Pomnep (13,960 баллов)

Похожие вопросы

0 голосов
8 ответов
спросил 26 Июнь, 13 от Ogyrez (240 баллов)
0 голосов
3 ответов
спросил 12 Март, 14 от Niferiys (220 баллов)
0 голосов
2 ответов