S
S
Sp1keazyYT2019-04-21 10:18:29
PHP
Sp1keazyYT, 2019-04-21 10:18:29

How to make a handler that will read fields from CSV and, depending on the article, will change the fields in the catalog, taking the field data from CSV?

Good afternoon. I have a CSV file:
671d5ba787.png
I have the following code:

<?php

$row = 0;
if (($handle = fopen("/home/bitrix/www/updatexml/dataxml.csv", "r")) !== FALSE) { // открываем csv
    while (($data = fgetcsv($handle, 10000, ";")) !== FALSE) { // перебор по строкам
        $num = count($data);
        $row++;
        
    if ($row>1)
    {
      
      $sCodeArt=$data[0]; // Артикул товара
      $sName=$data[1]; // Наименование
      $sCur=$data[2]; // Валюта
      $nPriceWONDS=$data[3]; // Цена без НДС
      $nNDS=$data[4]; // Ставка НДС
      $nWidth=$data[5]; // Ширина товара
      $nLength=$data[6]; // Длина товара
      $nHeight=$data[7]; // Высота товара
      $nMassa=$data[8]; // Масса товара
      $nPWidth=$data[9]; // Ширина упаковки
      $nPLength=$data[10]; // Длина упаковки
      $nPHeight=$data[11]; // Высота упаковки
      $nPMassa=$data[12]; // Масса упаковки
      $nQIP=$data[13]; // Количество в упаковке
      $sCollection=$data[14]; // Коллекция
      $sGroup=$data[15]; // Группа
      $sCategory=$data[16]; // Принадлежность товара
      $sDescription=$data[17]; // Описание товара
      $bNew=$data[18]; // Новинка
      $bHit=$data[19]; // Хит

      /*
      Находим в каталоге товар с артикулом $sCodeArt
      
      Выполняем 19 запросов с записью каждого параметра
      1. Товар с артикулом $sCodeArt - меняем значение "имя" на $sName
      2. 
      3.
      ..
      19.
      
      
      */

        
      
    }
    

    }
    fclose($handle);
}

?>

The tasks are as follows:
1) Find the product with the article $sCodeArt in the catalog
2) Execute 19 requests with writing each parameter to the elements of the info block (for example, in the product with the article $sCodeArt we first change the name of the product to $sName and so on in turn until we reach $ bHit)
What is the best way to do this?

Answer the question

In order to leave comments, you need to log in

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question