false, 'extensions' => 'csv', 'maxFiles' => 2], ]; } static function importFile ($filename) { // создаем папку if (! is_dir ($path = $_SERVER['DOCUMENT_ROOT'].'/import/')) { mkdir ($path, 0777, true); } // копируем файл copy ($filename->tempName, $path.$filename->name); // по умолчанию // $termin_pid MEGA КАСТЫЛЬ!!! Это категория "Каталог товаров", // под которую подтягуються термины, которые на нашли себе parent $termin_pid = 8; // $template_id шаблон каьегорий $template_id = 3; $language_id = 2; $type = 'H'; // массив для импортп товаров $MASS = []; // открываем файл и перебираем $fp = fopen ($path.$filename->name, 'r'); while ($ROW = fgetcsv ($fp, 10000, ';')) { // чистим foreach ($ROW as $key => &$value) { $value = trim ($value) == 'NULL' ? NULL : trim ($value); } $ROW['category_title'] = $ROW[0]; $ROW['group_title'] = $ROW[1]; $ROW['subgroup_title'] = $ROW[2]; // проверяем если через "," // var_dump($array[1]); die; // массив для поиска/добавления термина $basic = [ 'type' => $type, 'language_id' => $language_id, 'template_id' => $template_id, ]; // категория if ($ROW['category_title'] == NULL) { CONTINUE; } $termin_id = Termin::addIfNotExists ($basic + [ 'termin_title' => $ROW['category_title'], 'termin_pid' => $termin_pid, // MEGA КАСТЫЛЬ!!! ]); // подгруппа if ($ROW['group_title'] != NULL) { $termin_id = Termin::addIfNotExists ($basic + [ 'termin_title' => $ROW['group_title'], 'termin_pid' => $termin_id, ]); } // группа if ($ROW['subgroup_title'] != NULL) { $termin_id = Termin::addIfNotExists ($basic + [ 'termin_title' => $ROW['subgroup_title'], 'termin_pid' => $termin_id, ]); } } // удаляем файл chmod($path.$filename->name, 0777); unlink ($path.$filename->name); /* echo '
';
        
            var_dump($category);
            var_dump($group);
            var_dump($subgroup);
        
        echo '
'; // ОБЩЕЕ // PRODUCT Артикул Категория Группа Подгруппа Описание Штрих-код // СПРАВОЧНИК ИЛИ ДОП. ПОЛЯ // ??? Торговая марка Производитель ID Наименование кол-во в пакете Ед. Изм опт / розница Диаметр шляпки min Диаметр шляпки max Единица измерения Цвет шляпки Цвет шляпки (фильтр) Цвет мякоти цвет мякоти (фильтр) Длина ножки min Длина ножки max Единица измерения примечание */ } public function findTerminOneQuery ($type, $name, $parent_name) { /* return yii::$app->db->createCommand(' SELECT `termin`.termin_id, `parent`.termin_id as termin_pid FROM `termin` INNER JOIN `termin_lang` ON `termin_lang`.termin_alias = "'.$name.'" INNER JOIN `termin_relation` ON `termin_relation`.termin_id = `termin`.termin_id LEFT JOIN ( IF NOT EXISTS (SELECT * FROM `termin_lang` INNER JOIN `termin` ON `termin`.termin_id = `termin_lang`.termin_id AND `termin`.type = "'.$type.'" WHERE `termin_lang`.termin_alias = "'.$parent_name.'" ) THEN (SELECT * FROM `termin_lang` INNER JOIN `termin` ON `termin`.termin_id = `termin_lang`.termin_id AND `termin`.type = "'.$type.'" WHERE `termin_lang`.termin_alias = "'.$parent_name.'" ) ELSE (SELECT * FROM `termin_lang` INNER JOIN `termin` ON `termin`.termin_id = `termin_lang`.termin_id AND `termin`.type = "'.$type.'" ) ) as `parent` ON `parent`.termin_id = `termin_relation`.termin_pid WHERE `termin`.type = "'.$type.'" ')->queryOne(); */ } }