Массовое перемещение,дублирование, движение номенклатуры по категориям

Коллеги, подскажите, есть ли простой способ выбрать номенклатуру и дублировать её в категорию (дублировать, удалить, переместить итд.)
напимер хочу 300 артикулов дублировать в ещё одну категорию. Как это сделать?

Товары - выбрать все - редактировать - чекбокс категория

Там в первом «окне» выбираешь категорию и делаешь применить ко всем - сохранить

Тоже самое и с удалением, товары - выбрать все - Удалить выбранные

1 лайк

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

Вот

Посмотреть скриншоты



1 лайк

Спасибо огромное! Вы мне очень помогли!:heart_eyes:

Эта штука подойдет только для массового перемещения, так как выбранная категория затрёт все имеющиеся. Для дублирования или ручками ниже к каждой проставить, или как я - небольшим скриптиком

1 лайк

Я дал ответ на поставленный вопрос, в стоковой комплектации я задал массово товаром по несколько категорий(под разные посадочные в категориях)

Алекс, добрый день! А что за скриптик? Ручками добавить категорию к тысячам товаров немного уныло

3го числа выложу, в скрипт вставляю массив артикулов, и ид категории, в которую их поместить

Добрый день! Скриптик скриптик \o/

Опс, совсем потерялся я

<?php
$path_to_shop = '';

use Tygh\Api;
use Tygh\Registry;

    // Configure CS-Cart -----------------------------------------------------------
    define('AREA', 'A');
    define('ACCOUNT_TYPE', 'admin');

define('MY_DIR_ROOT', $_SERVER['DOCUMENT_ROOT'].$path_to_shop);
require(MY_DIR_ROOT . '/init.php');

$ADD_CATEGORY = 298;

//тут массив артикулов ("арикул1","артикул2", итд)
$action = array(
);

foreach ($action as $a) {
    $product_id = db_get_field("SELECT product_id FROM ?:products WHERE product_code=?s", $a);
    $_add_categories = db_get_array("SELECT category_id, position FROM ?:products_categories WHERE product_id = ?i ORDER BY category_id", $product_id);
    $add_categories = array();
    foreach ($_add_categories as $_category) $add_categories[] = $_category['category_id'];
    if (!in_array($ADD_CATEGORY, $add_categories)) {
        $_data = array(
            'product_id' => $product_id,
            'category_id' => $ADD_CATEGORY,
            'link_type' => "A",
            'position' => 0
        );
        db_query("INSERT INTO ?:products_categories ?e", $_data);
    }
}
//fn_update_product_count();
$product_count = db_get_field("SELECT COUNT(*) FROM ?:products_categories WHERE category_id = ?i",$ADD_CATEGORY);
db_query("UPDATE ?:categories SET product_count = ?i WHERE category_id = ?i", $product_count,$ADD_CATEGORY);

Соответственно в $ADD_CATEGORY айдишник вашей категории которую надо добавить дополнительной для товаров из массива

1 лайк

Ой спасибо Вам огромное! А Вам не будет сложно подсказаить как его применить
? куда вставить
//тут массив артикулов (“арикул1”,“артикул2”, итд) можно прямо из эксельки вставить?

вот тут должно быть содержимое массива

//тут массив артикулов ("арикул1","артикул2", итд)
$action = array(
"65465",
"87686",
"98797",
);

я в экселе делаю первая колонка артикул, вторая " (кавычка) и тертья ", (кавычка с запятой)
в четвертой сцепляю это все вместе и затем просто копирую четвертую колонку и внутрь массива вставляю

Кстати, если чуть чуть допилить, то можно сделать чтобы отсутствующие в списке артикулы из категории удалялись

1 лайк