@AD1990

В опенкарт не отображаются картинки в формате *.jpeg?s=, как починить?

Здравствуйте.
При импорте каталога, загружаются картинки в формате

https://site.com/product-partner-feed/b9/1600x1200...

и сохраняются в папке с типом jpeg?s=581fb784c2fd399e26fa9e5f97d01719 и бд.

В карточке товара они не отображаются.
Так же если в строку браузера прописать прямую ссылку на файл выдает ошибку 404

https://mysite.ru/image/catalog/import_yml/AAA/000...

А если прописать
https://mysite.ru/image/catalog/import_yml/AAA/000...
отображается.

Как сделать нормальное отображение картинки?
  • Вопрос задан
  • 359 просмотров
Пригласить эксперта
Ответы на вопрос 1
lazuren
@lazuren
Можно во время ресайза имя файла заменить на хеш-код и получим из этого
1600x1200xxxxxx-b968d16a629a742de561869fb6e93359.jpeg?s=581fb784c2fd399e26fa9e5f97d01719

это
3b89ecc5edc85cc193f1c3303827494a4eed4865-100x100.jpeg.


Реализация:
// В контроллере admin/model/tool/image.php
//Вот это строчку
$image_new = 'cache/' . utf8_substr($filename, 0, utf8_strrpos($filename, '.')) . '-' . $width . 'x' . $height . '.' . $extension;

//Меняешь на эту 
$image_new = 'cache/' . utf8_substr(hash('ripemd160', $filename), 0, utf8_strrpos($filename, '.')) . '-' . $width . 'x' . $height . '.' . $extension;

//Затем в контроллере catalog/model/tool/image.php
//Вот это строчку
$image_new = 'cache/' . utf8_substr($filename, 0, utf8_strrpos($filename, '.')) . '-' . (int)$width . 'x' . (int)$height . '.' . $extension;

//Меняешь на эту 
$image_new = 'cache/' . utf8_substr(hash('ripemd160', $filename), 0, utf8_strrpos($filename, '.')) . '-' . (int)$width . 'x' . (int)$height . '.' . $extension;


Или то же самое можно реализовать через OCMod
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы