Массовое удаление товаров

В общем есть список товаров, которые нужно удалить, больше 5000 шт. Есть ли возможность, зная ID этих товаров, выполнить массовое удаление?

Через импорт загнать их в какую то категорию временную, а уже оттуда удалять.
Были тут сообщения про фильтрацию по списку id, но не вспомню реализовали ли такое.

А варианта через функцию нет?

Кто в курсе, можно в index.php вставить свой код, чтобы выполнить функцию fn_delete_product?

Как вариант


или скрипт по быстрому

$pids = [ //Id товаров
1,
2,
...
];
foreach($pids as $pid){
    fn_delete_product($pid);
}

А не подскажите, куда вставить скрипт?

Как вариант

  • включить модуль Мои изменения
  • создать файл

app/addons/my_changes/controllers/backend/products.post.php

<?php

if (!defined('BOOTSTRAP')) { die('Access denied'); }

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    return;
}

if ($mode == 'delete_by_ids') {
    $pids = [ //Id товаров
        1,
        2
    ];
    foreach($pids as $pid){
        fn_delete_product($pid);
    }
    fn_print_die('Done');
}
  • почистить кэш
  • запустить URL admin.php?dispatch=products.delete_by_ids
2 лайка

Спасибо!

1 лайк

Я так один раз попытался сделать. В итоге часа 2-3 сайт тупо не работал. Помогли ребята с хостинга оживить.

Не думаю, что лишние действия выход. Через функцию всё ок, проблем не было!