Появилась задача отключить сохранение картинок в папку 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. Размер будет гораздо меньше.