Как массово поменять артикулы

как массово поменять артикулы у товаров через импорт csv ?
если зайти в админку и вручную поменять в самом товаре артикул - то он сохраняется.
а если через файл импорта оставить два поля Product code Product id и в product code прописать новый артикул, то в базе просто создается новый товар. я думал что если есть привязка по product id то оно и артикул поменяет в товаре

1 лайк

Product code
Код товара (Артикул)

Обязательное поле

Главный идентификатор товара в базе данных.

Пример: J00133PNYZ

Формат: строка длинной 32 символа

Если делаете экспорт из магазина в CSV, обезательно проверьте, что заполнены коды всех товаров.

Если при импорте код товаров не найден в базе данных, будет создан новый товар.
https://www.cs-cart.ru/docs/4.3.x/manager/exim/products/

вы не поняли
я хочу поменять существующий Product code через файл импорта. то есть у всех товаров.
все что нашел на этом форуме это что артикулы можно менять через массовое редактирование товаров - но это совершенно не то.

Если меняете Product code в csv, то создается новый товар.

я в курсе

кажется никак, только вручную.

https://www.hungryweb.net/cs-cart-addons/backend-additional-functionalities.html с этим модулем можно в списке товаров поменять, как раньше было. Но в заказах модуль кривой.

Phpmyadmin вам доступен?

да конечно

Экспортируешь из phpmyadmin таблицу cscart_products в формате csv. Меняешь артикулы и обратно импортируешь в csv не забыв поставить галочку “Update data when duplicate keys found on import (add ON DUPLICATE KEY UPDATE)” и указав “Разделитель полей:” ;

  • очисти столбец shipping_params, из-за точки с запятой будет ошибка импортирования

если будут ошибки, очисти поля “Значения полей обрамлены:” “Символ экранирования:”

1 лайк

Для списка

design/backend/templates/views/products/manage.tpl

замените

<span class="product-code__label">{$product.product_code}</span>

на

<input name="products_data[{$product.product_id}][product_code]" value="{$product.product_code}" class="input-short input-hidden{if $no_hide_input_if_shared_product} {$no_hide_input_if_shared_product}{/if}" />

(!) Не тестировано

У simtechdev есть модуль xml и csv импорт, там можно менять артикулы импортом

та мне 1500 товаров только, вручную поменяю…модуль стоит 237$ - был бы бесплатным еще ок…

Возможно вам подойдет модуль " ленивый менеджер" от Михаила, поищите на форуме.

Коллеги общался с разработчиком модуля “Ленивый менеджер”. Для решения данной задачи он не подойдет! Мне тоже надо массово изменить Код товара. Получается кроме как через базу, иначе ни как!

Попробуйте в файле app/schemas/exim/products.functions.php

поменять

unset($object['product_id']);

на

//unset($object['product_id']);

Затем попробуйте импортировать один товар, сохранив в файле ID товара, но поменяв артикул

(!) Не тестировано, но может прокатить

P.S. Обязательно делаем бэкап

Кмк, полюбому быстрее выгрузить в csv из базы и обработать в экселе, как выше написали.