Jump to content

Очередная ошибка импорта


Recommended Posts

Весьма странно работает импорт с адресами товара. Допустим, в файле импорта одна строка с пустым полем адреса и такого товара в базе магазина нет.

В результате импорта появится новый товар, адрес которого сформирован транслитом из названия. Это верно.

А теперь повторим импорт из того же файла. Естественно ожидать, что товар перезапишется без изменений. Но не тут-то было - в реальности у товара адрес станет пустым.

 

Простой пример содержимого файла импорта:

 

Категория;Товар;Цена;Адрес;Видим;Бренд;Вариант;Артикул;Склад

Диваны;Маленький;163.00;;1;Corm;v1;10011;5

Link to post
Share on other sites

Весьма странно работает импорт с адресами товара. Допустим, в файле импорта одна строка с пустым полем адреса и такого товара в базе магазина нет.

В результате импорта появится новый товар, адрес которого сформирован транслитом из названия. Это верно.

А теперь повторим импорт из того же файла. Естественно ожидать, что товар перезапишется без изменений. Но не тут-то было - в реальности у товара адрес станет пустым.

 

Простой пример содержимого файла импорта:

 

Категория;Товар;Цена;Адрес;Видим;Бренд;Вариант;Артикул;Склад

Диваны;Маленький;163.00;;1;Corm;v1;10011;5

Стоило поднапрячь свою память и заглянуть в тему, где я расписывал решение этой проблемы, на что получил негативный ответ от тебя Корс.
Link to post
Share on other sites

Да, действительно, получился повтор.

 

А поднапрячься хорошо бы автору, дабы исправить ошибку в ДИСТРИБУТИВЕ. Несколько месяцев прошло...

Link to post
Share on other sites

Да, действительно, получился повтор.

 

А поднапрячься хорошо бы автору, дабы исправить ошибку в ДИСТРИБУТИВЕ. Несколько месяцев прошло...

Ты же утверждал что это не ошибка, а лишь другой подход к реализации.
Link to post
Share on other sites

Это уже исправлено в будущем релизе

Спасибо, очень приятное сообщение!

 

Если бы еще тема была с анонсами будущего релиза, было бы совсем отлично...

 

Например, обсуждаемый вопрос про пустые URL товара при импорте связан с аналогичным вопросом про совпадение URL при импорте и решать желательно вместе и комплексно (ибо предлагавшееся Noxter-ом решение очень далеко от идеала).

 

И еще один важный аспект: хорошо бы иметь где-то хотя бы кратко описанную официальную идеологию импорта, чтобы не угадывать мысли разработчика и не фантазировать, что представляет собой конкретный результат - то ли ошибку, то ли своеобразную авторскую задумку. В импорте это касается минимум двух вопросов - как формируется URL, и как определяется товар и вариант - в каких случаях надо проводить обновление, в каких - создание нового...

 

Понять по коду довольно затруднительно - текущий код довольно запутан и трудно читаем. Например, в simpla/ajax/import.php последовательно идут два фрагмента

		// Если задан артикул варианта, найдем этот вариант и соответствующий товар
		if(!empty($variant['sku']))
		{ 
			$this->db->query('SELECT id as variant_id, product_id FROM __variants, __products WHERE sku=? AND __variants.product_id = __products.id LIMIT 1', $variant['sku']);
......
		}
		// Если на прошлом шаге товар не нашелся, и задано хотя бы название товара
		if((empty($product_id) || empty($variant_id)) && isset($item['name']))
		{
			if(!empty($variant['sku']) && empty($variant['name']))
				$this->db->query('SELECT v.id as variant_id, p.id as product_id FROM __products p LEFT JOIN __variants v ON v.product_id=p.id WHERE v.sku=? LIMIT 1', $variant['sku']);			

Насколько я понимаю, если дошло до запроса из второго фрагмента, то предварительно выполнялся и первый, причем с пустым результатом. Выходит, второй автоматически всегда дает пустой результат. И гадай тут, какой смысл вкладывает разработчик, добавляя такой запрос... По-моему, даже теоретизирование с тонкостями LEFT JOIN не способно хоть как-то оправдать смысл возникновения такого запроса...

Link to post
Share on other sites
  • 1 year later...

как понять испралено в моем релизе на сайте эта штука? как настроить импорт тольлко по артикулу без вараинотов и названия?
кто возьмется и сколько это стоит?

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...