Kors Posted November 3, 2014 Report Share Posted November 3, 2014 Весьма странно работает импорт с адресами товара. Допустим, в файле импорта одна строка с пустым полем адреса и такого товара в базе магазина нет. В результате импорта появится новый товар, адрес которого сформирован транслитом из названия. Это верно. А теперь повторим импорт из того же файла. Естественно ожидать, что товар перезапишется без изменений. Но не тут-то было - в реальности у товара адрес станет пустым. Простой пример содержимого файла импорта: Категория;Товар;Цена;Адрес;Видим;Бренд;Вариант;Артикул;Склад Диваны;Маленький;163.00;;1;Corm;v1;10011;5 Quote Link to post Share on other sites
Noxter Posted November 3, 2014 Report Share Posted November 3, 2014 Весьма странно работает импорт с адресами товара. Допустим, в файле импорта одна строка с пустым полем адреса и такого товара в базе магазина нет. В результате импорта появится новый товар, адрес которого сформирован транслитом из названия. Это верно. А теперь повторим импорт из того же файла. Естественно ожидать, что товар перезапишется без изменений. Но не тут-то было - в реальности у товара адрес станет пустым. Простой пример содержимого файла импорта: Категория;Товар;Цена;Адрес;Видим;Бренд;Вариант;Артикул;Склад Диваны;Маленький;163.00;;1;Corm;v1;10011;5Стоило поднапрячь свою память и заглянуть в тему, где я расписывал решение этой проблемы, на что получил негативный ответ от тебя Корс. Quote Link to post Share on other sites
Kors Posted November 3, 2014 Author Report Share Posted November 3, 2014 Да, действительно, получился повтор. А поднапрячься хорошо бы автору, дабы исправить ошибку в ДИСТРИБУТИВЕ. Несколько месяцев прошло... Quote Link to post Share on other sites
Noxter Posted November 3, 2014 Report Share Posted November 3, 2014 Да, действительно, получился повтор. А поднапрячься хорошо бы автору, дабы исправить ошибку в ДИСТРИБУТИВЕ. Несколько месяцев прошло...Ты же утверждал что это не ошибка, а лишь другой подход к реализации. Quote Link to post Share on other sites
pikusov Posted November 3, 2014 Report Share Posted November 3, 2014 Это уже исправлено в будущем релизе Quote Link to post Share on other sites
Noxter Posted November 3, 2014 Report Share Posted November 3, 2014 Это уже исправлено в будущем релизеПрошу не динамить меня и ответить на мои письма которые я писал в ЛС и по почте. Спасибо. Quote Link to post Share on other sites
Kors Posted November 4, 2014 Author Report Share Posted November 4, 2014 Это уже исправлено в будущем релизеСпасибо, очень приятное сообщение! Если бы еще тема была с анонсами будущего релиза, было бы совсем отлично... Например, обсуждаемый вопрос про пустые 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 не способно хоть как-то оправдать смысл возникновения такого запроса... Quote Link to post Share on other sites
Николай CatalogLoader Posted November 6, 2014 Report Share Posted November 6, 2014 Эх импорт, когда же его починят-то? Quote Link to post Share on other sites
doctor1c Posted March 23, 2016 Report Share Posted March 23, 2016 как понять испралено в моем релизе на сайте эта штука? как настроить импорт тольлко по артикулу без вараинотов и названия?кто возьмется и сколько это стоит? Quote Link to post Share on other sites
Kors Posted March 23, 2016 Author Report Share Posted March 23, 2016 Если требуется импорт по своим правилам - обращайтесь в личку... Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.