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