Цитата:
Функция
delete_old_products() использует один единственный SQL-запрос к базе в строке
796:
Код:
$sql = "SELECT * FROM `" . DB_PREFIX . "product` WHERE power_id <> '' AND product_id NOT IN (".$this->db->escape($str).")";
Как можно видеть, удаляются лишь товары, содержащие в поле
power_id значение отличное от пустого. А это товары которые положил в базу сам модуль. Если добавлять товары вручную, поле
power_id движком OpenCart не устанавливается и удаляться они не будут.
Вроде бы и всё так, но вот в реальности товары, добавленные напрямую вручную через OpenCart, удаляются сразу же после обновления update_products.php. Уже 11 раз перепробовал.
В теории, если поле
power_id будет заполнено, то такие товары удалятся не будут, но и это тоже не помогло — всё равно удаляются.
Пока что, как вариант, закомментировать или удалить 768-ю строку:
Код:
$this->delete_old_products($product_ids);
В таком случает и обновление происходит, и добавленные вручную товары не удаляются. А старые товары, которые уже не используются, можно, в принципе, и оставить, ну или же удалить вручную.