Не отображаются рисунки

Тема в разделе "OpenCart", создана пользователем seomist, 30 мар 2014.

  1. seomist

    seomist

    Регистрация:
    30 мар 2014
    Сообщения:
    6
    Симпатии:
    0
    Делал импорт товаров в опенкарт 1.5.5.1 Вроде все правильно залил, а картинки не отображаются. Картинки в image/data заливал. Первый раз, не судите строго.
     
  2. AlexI

    AlexI

    Регистрация:
    14 май 2013
    Сообщения:
    36
    Симпатии:
    12
    А файлы полностью не слили? Или товар не твой? :Smile:

    Тут два варианта: либо не залиты картинки, либо нарушены связи в БД. Посмотри, связываются ли картинки с товарами через админку. Если картинки выбираются и привязываются, отображение потом нормальное, можно и с другими поступать аналогично.

    Когда я сталкиваюсь с аналогичной проблемой, поступаю следующим образом:
    - парсинг картинок-оригиналов с сайта оригинала (если их нет);
    - или ресайз до нужных размеров (основные картинки изменяются до размеров 500х500, 228х228, 100х100, 80х80, 74х74, 40х40, дополнительные только 500х500 и 74х74);
    - заливка картинок по соответствующим папкам.

    Картинки товаров хранятся в двух разных папках.

    Оригиналы хранятся в папке /image/data, получаемые с них ресайзы в папке image/cashe/data

    И не забыть связать товары с картинками в БД
     
    seomist нравится это.
  3. seomist

    seomist

    Регистрация:
    30 мар 2014
    Сообщения:
    6
    Симпатии:
    0
    Ага, спасибо. Через админку в товарах я картинки вижу, если выбираю их в товаре, то они на сайте показываются. Но у меня больше тысячи товаров, каждому назначать рисунок не хочется. И ведь они в базе уже привязаны. Что делать?
     
  4. AlexI

    AlexI

    Регистрация:
    14 май 2013
    Сообщения:
    36
    Симпатии:
    12
    Написал же. Изменяй размеры и загоняй по соответствующим папкам.
    Лучше еще проверь в БД, основные рисунки записаны в oc_product, дополнительные в oc_product_image. Должно быть что-то типа: data/1.jpg
    При импорте с чужих баз или других магазинов, пути могут другие быть.
    Если ссылки прописаны верно, то проблема в отсутствии картинок в image/cashe/data
    Сделай набор ресайзов для одного-двух товаров, залей в папки и проверь. Если все получится, делай ресайз всех картинок, как описывал выше.
     
  5. seomist

    seomist

    Регистрация:
    30 мар 2014
    Сообщения:
    6
    Симпатии:
    0
    Ага, спасибо для двух получилось. А ресайз автоматический как-то можно сделать? А то фотошопом все изменять долго очень.
     
  6. AlexI

    AlexI

    Регистрация:
    14 май 2013
    Сообщения:
    36
    Симпатии:
    12
    Я таким скриптом пользуюсь:

    Код:
    // здесь имя оригинального файла с картинкой
    $filename = 'image.jpg';
    
    // задание получаемого размера 40,74,80,100,228,500
    $width = 40;
    $height = 40;
    
    
    // получение новых размеров
    list($width_orig, $height_orig) = getimagesize($filename);
    
    $ratio_orig = $width_orig/$height_orig;
    
    if ($width/$height > $ratio_orig) {
    $width = $height*$ratio_orig;
    } else {
    $height = $width/$ratio_orig;
    }
    
    // ресэмплирование
    $image_p = imagecreatetruecolor($width, $height);
    $image = imagecreatefromjpeg($filename);
    imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
    
    // запись
    
    imagejpeg($image_p, 'image-40х40.jpg');
    
    // Освобождаем память
    imagedestroy($image_p);
    
    Ну и всё это в циклы по размерам и чтению файл из директории.
     
    seomist нравится это.
  7. Yasya

    Yasya

    Регистрация:
    1 апр 2014
    Сообщения:
    4
    Симпатии:
    0
    Если есть в админке, но нет на сайте, просто почистите кэш. Или проверьте как написано выше пути проверить.
     
  8. ЯРИК

    ЯРИК

    Регистрация:
    30 июл 2013
    Сообщения:
    12
    Симпатии:
    0
    вы загружали с файлового менеджера?
    проверьте какую кодировку при загрузке использовал файловый менеджер?
    авто или определенную