Делал импорт товаров в опенкарт 1.5.5.1 Вроде все правильно залил, а картинки не отображаются. Картинки в image/data заливал. Первый раз, не судите строго.
А файлы полностью не слили? Или товар не твой? Тут два варианта: либо не залиты картинки, либо нарушены связи в БД. Посмотри, связываются ли картинки с товарами через админку. Если картинки выбираются и привязываются, отображение потом нормальное, можно и с другими поступать аналогично. Когда я сталкиваюсь с аналогичной проблемой, поступаю следующим образом: - парсинг картинок-оригиналов с сайта оригинала (если их нет); - или ресайз до нужных размеров (основные картинки изменяются до размеров 500х500, 228х228, 100х100, 80х80, 74х74, 40х40, дополнительные только 500х500 и 74х74); - заливка картинок по соответствующим папкам. Картинки товаров хранятся в двух разных папках. Оригиналы хранятся в папке /image/data, получаемые с них ресайзы в папке image/cashe/data И не забыть связать товары с картинками в БД
Ага, спасибо. Через админку в товарах я картинки вижу, если выбираю их в товаре, то они на сайте показываются. Но у меня больше тысячи товаров, каждому назначать рисунок не хочется. И ведь они в базе уже привязаны. Что делать?
Написал же. Изменяй размеры и загоняй по соответствующим папкам. Лучше еще проверь в БД, основные рисунки записаны в oc_product, дополнительные в oc_product_image. Должно быть что-то типа: data/1.jpg При импорте с чужих баз или других магазинов, пути могут другие быть. Если ссылки прописаны верно, то проблема в отсутствии картинок в image/cashe/data Сделай набор ресайзов для одного-двух товаров, залей в папки и проверь. Если все получится, делай ресайз всех картинок, как описывал выше.
Ага, спасибо для двух получилось. А ресайз автоматический как-то можно сделать? А то фотошопом все изменять долго очень.
Я таким скриптом пользуюсь: Код: // здесь имя оригинального файла с картинкой $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); Ну и всё это в циклы по размерам и чтению файл из директории.
Если есть в админке, но нет на сайте, просто почистите кэш. Или проверьте как написано выше пути проверить.
вы загружали с файлового менеджера? проверьте какую кодировку при загрузке использовал файловый менеджер? авто или определенную