kossik Опубликовано 7 марта, 2018 Жалоба Поделиться Опубликовано 7 марта, 2018 (изменено) Добрый день.При импорте товара происходит автозамена одного товара на другой, при этом товары имеют разный артикул! Одинаковое у товаров - только название.Получается например у меня в файле 50 товаров с названием "Чулки", с разными артикулами, а после импорта получаем только 1 товар "Чулки", при этом с 50-ю разными фотографиями.Как это исправить?Какой файл обрабатывает импорт? Может там поменять проверку на одинаковое имя, либо добавить проверку на артикул?Версия Simpla - 2.3.8 Изменено 7 марта, 2018 пользователем kossik Цитата Ссылка на сообщение Поделиться на другие сайты
kossik Опубликовано 7 марта, 2018 Автор Жалоба Поделиться Опубликовано 7 марта, 2018 (изменено) Покопался в файлах, в import.php нашел вот такую часть кода на строке 221: 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']); elseif(isset($item['variant'])) $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 AND v.name=? WHERE p.name=? LIMIT 1', $item['variant'], $item['name']); else $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 p.name=? LIMIT 1', $item['name']);То есть получается мы не проходим проверку на наличие и названия и артикула одновременно, а тупо заменяем товары с одинаковыми названиями, даже если определены артикулы. Как разработчики могли пропустить такой момент? Изменено 7 марта, 2018 пользователем kossik Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 7 марта, 2018 Жалоба Поделиться Опубликовано 7 марта, 2018 Файл обрабатывающий импорт simpla/ajax/import.php Цитата Ссылка на сообщение Поделиться на другие сайты
kossik Опубликовано 7 марта, 2018 Автор Жалоба Поделиться Опубликовано 7 марта, 2018 (изменено) Вылечил проблему убиранием проверки на отсутствие названия товара, а именно вот так стало: if(!empty($variant['sku'])) $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']); Получается сам задал вопрос, сам на него и ответил Хорошо хоть в коде разработчики комментарии ставили, это очень упростило поиски Изменено 7 марта, 2018 пользователем kossik Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.