esistema1 Опубликовано 28 января, 2018 Жалоба Поделиться Опубликовано 28 января, 2018 (изменено) Всем добрый вечер! Есть товары у которых несколько вариантов (размеры одежды - 42, 44, 46) у всех вариантов один артикул (в 1С ведется учет по характеристикам). Хочу обновлять наличие товара через файл импорта со следующим содержимым. Вариант Артикул Склад42 7048 044 7048 146 7048 2 Сейчас при импорте записывается только последний вариант товара (50) все остальные не трогаются. Подскажите что необходимо подправить в этом коде, чтобы обновление товара заработало так как мне надо. // Если задан артикул варианта, найдем этот вариант и соответствующий товар if(!empty($variant['sku'])) { $this->db->query('SELECT v.id as variant_id, v.product_id FROM __variants v, __products p WHERE v.sku=? AND v.product_id = p.id LIMIT 1', $variant['sku']); $result = $this->db->result(); if($result) { // и обновим товар if(!empty($product)) $this->products->update_product($result->product_id, $product); // и вариант if(!empty($variant)) $this->variants->update_variant($result->variant_id, $variant); $product_id = $result->product_id; $variant_id = $result->variant_id; // Обновлен $imported_item->status = 'updated'; } } Изменено 28 января, 2018 пользователем esistema1 Цитата Ссылка на сообщение Поделиться на другие сайты
chocolate_moles Опубликовано 28 января, 2018 Жалоба Поделиться Опубликовано 28 января, 2018 Заменить sku на name, но это не точно Цитата Ссылка на сообщение Поделиться на другие сайты
esistema1 Опубликовано 29 января, 2018 Автор Жалоба Поделиться Опубликовано 29 января, 2018 Пробовал - не работает. Цитата Ссылка на сообщение Поделиться на другие сайты
Плохиш Опубликовано 29 января, 2018 Жалоба Поделиться Опубликовано 29 января, 2018 Хочу обновлять наличие товара через файл импорта со следующим содержимым. Вариант Артикул Склад42 7048 044 7048 146 7048 2 Надо серьезно переделывать скрипт импорта. Простое полностью хорошее решение в пару строчек вряд ли найдется. А вообще с таким содержимым импорт в принципе не сможет работать полностью правильно (по крайней мере при создании товара).Поэтому дополнительно, возможно, придется что-то добавлять в файл импорта. Цитата Ссылка на сообщение Поделиться на другие сайты
a13x Опубликовано 29 января, 2018 Жалоба Поделиться Опубликовано 29 января, 2018 Добавил в sql запрос доп условие на проверку имени варианта, проблему решило.Для создания новых вариантов (при отсутствии оного) придётся тащить идентификатор товара в файле импорта. Цитата Ссылка на сообщение Поделиться на другие сайты
Плохиш Опубликовано 29 января, 2018 Жалоба Поделиться Опубликовано 29 января, 2018 Для создания новых вариантов (при отсутствии оного) придётся тащить идентификатор товара в файле импорта.Это напрочь убивает саму идею импорта и способно создать путаницу и большие проблемы у админа сайта... Цитата Ссылка на сообщение Поделиться на другие сайты
a13x Опубликовано 29 января, 2018 Жалоба Поделиться Опубликовано 29 января, 2018 Это напрочь убивает саму идею импорта и способно создать путаницу и большие проблемы у админа сайта...Самособой А по другому сделать и не получится.Варианта нет в базе, в файле есть только артикул и наименование. Данный артикул может быть использован у разных товаров, значит точную выборку вы не получите никогда => идентификатор товара неизвестен. А для добавление варианта он нужен обязательно.НО, если sku привязано только к одному товару и не может быть кроме как у одного товара, то доп. запрос всё решает. Как в симпле сделано я не в курсе, не проверял и желания копаться нет. Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.