예제 #1
0
 /**
  * 
  * 
  * @param type $param
  */
 public function step1()
 {
     $arrCSV = file($this->filename);
     include_once dir(__FILE__) . '/' . $this->providerId . '.php';
     foreach ($arrCSV as $strCSV) {
         $arStrCSV = str_getcsv($strCSV, ';');
         $arRes = normalizeStrOfPrice($arStrCSV);
     }
 }
예제 #2
0
 private function normalizeStrOfPrice($arStrCSV)
 {
     // Проверить существование файла нормализации для текущего поставщика (с установкой)
     if (!isset($this->isExistNormalazeFile)) {
         @(include_once __DIR__ . '/NormalazePrice/' . $this->providerId . '.php');
         $this->isExistNormalazeFile = function_exists('normalizeStrOfPrice');
         if (!$this->isExistNormalazeFile) {
             include_once __DIR__ . '/NormalazePrice/default.php';
         }
     }
     $arRes = normalizeStrOfPrice($arStrCSV, $this->arrAccords);
     if (isset($this->arrAccords['identifier'])) {
         $arRes['identifier'] = $arRes['identifier'] . '_' . $arRes['name'];
         // Это на случай, если у поставщика при обновлении базы артикул будет прислоен другой товар (смешно, конечно, но заказчик сказал, что такое может быть), поэтому добавляем уникальности
     } else {
         unset($arRes['identifier']);
         // На случай, если в файле нормализации задается поле артикула, а при выборе соответствий полей поле артикула не выбрано - тогда идентификатором будет выступать имя товара
     }
     return $arRes;
 }