/** * * * @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); } }
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; }