Има много модули и скриптове, които изтриват неизползваните продуктови снимки в Magento 2.  Но, използването на нови модули може да носи други проблеми и рискове.  Затова ще покажем как да изтриете неизползваните продуктови снимки без модул или скрипт.

 

  1. Направете Export на всички продукти.  System -> Export.  Изберете продукти.  Не променяйте нищо и натиснете Continue.
  2. Направете backup of the files and DB
  3. Тествайте таблицата, която експортирахте в стъпка 1.  Отидете: System -> Import. Select Products, Add/Update. Изберете field enclosure. Изберете файла, който сте свалили в стъпка 1 и натиснете Check Data ( Не правете още import ).
  4. Преместете снимките -> pub/media/catalog/product folder to /var/importexport.  В този момент няма да се виждат никакви продуктови снимки на сайта.
  5. Ако имате много продукти е добре да разделите CSV файла на няколко такива.  Например 500 продукта във файл.    
  6. Изтрийте редовете в таблица `catalog_product_entity_media_gallery`, които нямат съответстващ ред в catalog_product_entity_varchar. 
    1. DELETE FROM `catalog_product_entity_media_gallery` WHERE value NOT IN (SELECT b.value FROM `catalog_product_entity_varchar` b WHERE b.value IS NOT NULL
  7. Още веднъж отидете на System -> Import.  Изберете Products, Add/Update.  Изберете field enclosure. Изберете CSV файла.  В Images File Directory напишете пътя към преместените снимки: var/importexport/product
  8. Изпълнете команда bin/magento catalog:images:resize

Може да изтриете снимките използвайки модул също.  Преди да инсталирате модула си направете backup

https://github.com/magento-hackathon/EAVCleaner/tree/magento2