[Помогите] Где хранить изображения

Тема в разделе "OpenCart", создана пользователем MGT1, 13 янв 2020.

  1. MGT1

    MGT1

    Регистрация:
    5 янв 2013
    Сообщения:
    900
    Симпатии:
    218
    Есть такой вопрос. Висит себе сайт на Хостинге в Украине. Все бы ок, но хочется больше товаров. Сейчас могу залить с 500к товаров только чехлов для телефонов. и все бы ок - но 500 Гб места на хостинге не реально.

    Есть идея вынести их на амазон с3 к примеру. Но кто-то такое делал? На сайте тогда останеться только кэш а то будет как локальная папка.
     
  2. Baco

    Baco Антихронофаг Команда форума

    Регистрация:
    9 окт 2012
    Сообщения:
    803
    Симпатии:
    399
    делал небольшой модификацией когда то, со ссылкой на изображение внешнего источника, надо только указать проверку по типу "ЕСЛИ есть альтернативній адрес изображения - подгружаем его, ИНАЧЕ - смотрим локальное наличие рисунка ИЛИ no_image.png"
     
  3. MGT1

    MGT1

    Регистрация:
    5 янв 2013
    Сообщения:
    900
    Симпатии:
    218
    А не вспомните где у кого такое делали?) Я бы у них попросил копию кода.
     
  4. Baco

    Baco Антихронофаг Команда форума

    Регистрация:
    9 окт 2012
    Сообщения:
    803
    Симпатии:
    399
    не вспомню, но могу накинуть пример тут:
    внедрял адрес удалённого изображения в поле location в карте товара, а в самом контроллере каталога товара в методе index ставил условие вместо:
    PHP:
    if ($result['image']) {
                        
    $image $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height'));
                    } else {
                        
    $image $this->model_tool_image->resize('no_image.jpg'$this->config->get('config_image_product_width'), $this->config->get('config_image_product_height'));
                    }
    менял примерно на вот такое:
    PHP:
    if ($result['location'] && !empty($result['location'])) {
                        
    $image $result['location'];
                    } elseif (
    $result['image']) {
                        
    $image $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height'));
                    } else {
                        
    $image $this->model_tool_image->resize('no_image.jpg'$this->config->get('config_image_product_width'), $this->config->get('config_image_product_height'));
                    }
     
    MGT1 нравится это.
  5. MGT1

    MGT1

    Регистрация:
    5 янв 2013
    Сообщения:
    900
    Симпатии:
    218
    Я примерно понял - а location image прописовалось и в config конкретным путем?
     
  6. chukcha

    chukcha

    Регистрация:
    9 окт 2014
    Сообщения:
    448
    Симпатии:
    119
    Я вижу несколько возможных путей

    Предложенный @Baco

    И... предлагаемый мною

    Указывать путь к картинке в поле картинки

    Но править модель
    model_tool_image
    И в ней проверять наличие протокола

    Это наиболее универсальное решение, при этом не нужно отслеживать в различных модулях, в том числе и закрытых

    А если амазон умеет еще и сам ресайзить . тем более в модель
     
    Baco и MGT1 нравится это.
  7. MGT1

    MGT1

    Регистрация:
    5 янв 2013
    Сообщения:
    900
    Симпатии:
    218
    модулем такое прописать реально?
     
  8. chukcha

    chukcha

    Регистрация:
    9 окт 2014
    Сообщения:
    448
    Симпатии:
    119
    Если не модулем, то модификатором

    1. в админке сделать поле для фото поменять type="hidden" на text