Алексей Костюк

Решено. Как в Opencart 3 отключить кеширование картинок?

Появилась задача отключить сохранение картинок в папку image/cache. На форумах типа opencartforum "специалисты" только могут отговаривать людей что-то делать. Я не понимаю зачем им это? Основная их мысль картинки будут в оригинальном размере и если их много, то будет нагрузка на сайт. И что? Задача есть и её надо помочь выполнить.

Тут всё просто. Идем в модель картинок - /catalog/model/tool/image.php и меняем полностью код на этот:

<?php
class ModelToolImage extends Model {
    public function resize($filename, $width, $height) {
        if (!is_file(DIR_IMAGE . $filename) || substr(str_replace('\\', '/', realpath(DIR_IMAGE . $filename)), 0, strlen(DIR_IMAGE)) != str_replace('\\', '/', DIR_IMAGE)) {
            return;
        }
        $filename = str_replace(' ', '%20', $filename);
        if ($this->request->server['HTTPS']) {
            return $this->config->get('config_ssl') . 'image/' . $filename;
        } else {
            return $this->config->get('config_url') . 'image/' . $filename;
        }
    }
}

Очищаем модификаторы в админке. Удаляем содержимое папки image/cache, если есть еще папка cachewebp, то удаляем и там всё. Обновляем страничку с товарами и радуемся оригинальным изображениям.

Отвечу сразу разработчикам, которые думают, что оригинальные изображения это плохо. Плохо это плодить кучу картинок разного размера раздувая размер сайта до 30-50 Gb и так далее как это делается также в Wordpress. Оптимизируя одно, в итоге, деоптимизируем другое. Если напрягает размер картинки, ну да, она может и 20 мегабайт весить. Что нужно сделать? Сжать её, отмасштабировать и удалить оригинальную картинку сконвертировав под формат webp. Размер будет гораздо меньше.

1
0
1
1
0
Алексей Костюк
Привет Username! Я Алексей Костюк
16 лет занимаюсь тем, что помогаю людям создавать сайты и дизайн, настраивать рекламу, продвигать проекты в Интернете. Я создал этот блог, чтобы делиться своим опытом и мыслями, а если вы хотите, то можете меня поддержать, это поможет мне создавать больше полезных статей для вас.