Мои изображения продуктов имеют размер 500 пикселей, но при экспорте на eBay по-прежнему выдается сообщение о том, что изображение <500 пикселей.
-
12-12-2019 - |
Вопрос
Я сделал «Ужасную вещь» и массово изменил размеры всех изображений от менее 500 пикселей до минимум 500 пикселей, выполнив следующие действия:
find -type d \( -path ./cache -o -path ./placeholder \) -prune -o -type f -regextype posix-egrep -iregex '.*\.(jpg|gif|tif)$' -exec identify {} \; | awk '{ split($3, wh, /x/); } wh[1] < 500 && wh[2] < 500 { print $1; }' | while read i; do convert $i -resize 500 -quality 90 $i ; done
Затем я удалил изображения размером 100x100 с помощью:
find ./ -name "resized*" -exec rm {} \;
Это отлично работало в файловой системе.Я удаляю кеш изображений Magento (подтверждено на уровне файловой системы)
К сожалению, когда я пытаюсь запустить M2EPro для проверки списков eBay, он получает сообщение об ошибке, что размер изображения <500 пикселей.
Если я возьму необработанное изображение и повторно сохраню его с помощью администратора Magento, оно будет принято и исправлено правильно, без ошибок.
Мой вопрос: Magento каким-то образом сохраняет или кэширует размеры изображения где-нибудь при загрузке? Как я могу сбросить или заставить Magento пересчитать это для всех изображений?
Решение
Я понял, что это из-за кэширования eBay, кэшируя URL-адрес изображения с моим 30-дневным истекшим кэш-контролем с Nginx.
Другие советы
Magento никогда не делает этого.
Он просто хранит изображения продуктов внутри. media/catalog/product/
каталог, всякий раз, когда изображение отображается во внешнем интерфейсе с измененным размером с помощью catalog/image
Метод вспомогательного класса resize($width,$height), размер изображения продукта изменяется и кэшируется в media/catalog/product/cache
.