Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Как удалить 100к товаров?


alexaw

Recommended Posts

получить их id, каждый прогнать через deleteproduct

для картинок добавить функцию

 

	private function delete_image($path) {
		if (isset($path)) {
			$path = rtrim(DIR_IMAGE  . $path);

			if (!file_exists($path)) {
				$error= 1;
			}

			if ($path == rtrim(DIR_IMAGE . 'catalog/', '/')) {
				$error = 1;
			}
		} else {
			$error = 1;
		}

		if (!$this->user->hasPermission('modify', 'common/filemanager')) {
      		$error = 1;  
    	}

		if (!isset($error)) {
			if (is_file($path)) {
				unlink($path);
			} elseif (is_dir($path)) {
				//$this->recursiveDelete($path);
			}

		}				

	}

в функцию deleteproduct в самое начало вставить что-то типа

 

$query = $this->db->query("SELECT p.image FROM " . DB_PREFIX . "product p WHERE p.product_id = '" . (int)$product_id . "'");
		
		if($query->row){
			$this->delete_image($query->row['image']);

			$results = $this->getProductImages($product_id);

			foreach ($results as $result) {
				$this->delete_image($result['image']);
			}
		}

 

Надіслати
Поділитися на інших сайтах

очистить таблицы БД все, которые __product

картинки удалить через панель хостинга, FTP  или папками в менеджере картинок

 

а ну это только если все товары удалять, если выборочно то не прокатит

Надіслати
Поділитися на інших сайтах

о, я предложу решение, как пользователь, а не программист, но.

Идем в админку, идем в настройки магазина. Делаем по 1000 элементов на странице

Идем в категорию товары.

Ставим в фильтре остаток 0

фильтруем товары.

выделяем все галочкой и удаляем.

 

Конечно 100 000 товаров это будет 100 раз нажать (каждый раз по тысяче), но знаю по себе, что некоторые вещи быстрее сделать на потоке, чем разбираться в коде.

Ну а если вы программист - то вам сверху подсказали. 

Выделил - удалил - пошел заниматься в браузере другой работой. 

Удалились товары - опять зашел удалил, занимаемся работой.

 

п.с. я прям предвижу, как это читают программисты и вносят меня в список странных людей :-D

 

п.с.п.с по идее если у вас хостинг или сервер позволяет ресурсы то наверное можно поставить и по 5000 элементов на странице. (но я не пробовал). Делал по 1000.

Змінено користувачем Guava
Надіслати
Поділитися на інших сайтах


Удалять с картинками?
Нужно наваять небольшой контроллер

Получить список товаров с нулевым остатком
И поштучно, методами pdoduct/delete
и unlinlk(image)
Т.е процесс длительный из-за обращений к картинкам


Можно создать временную таблицу с id не нужных товаров, и адресами картинок
А затем 5-6 запросами удалить из сопутсвующих таблиц - в принципе, это быстро - серверного времени хватит
А затем несложным контроллером - удалить картинки

Надіслати
Поділитися на інших сайтах

3 часа назад, alexaw сказал:

Как правильно и быстро удалить 100к товаров (в т.ч. и картинки) с нулевым остатком?

В АОП вроде есть такие инструменты, если вы его используете

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.