Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

The image could not be load - remote image


Recommended Posts

Здравствуйте, помогите пожалуйста, не могу разобраться почему добавляется адрес папки локального каталога к ссылке на удаленный имидж, уже отключал все плагины и все равно тот же эффект. Шаблон Next default, хотя я менял на обычный шаблон и тоже ничего не помогает. Может кто встречался с такой ошибкой? Сайт - https://electric.pp.ua/

<img src="https://electric.pp.ua/image/https://elektreka.com.ua/image/catalog/katalog_tovarov/tools/nazhdachka/2368-1/62589.970.jpg" alt="Лента абразивная бесконечная Р60, 75х457мм Matrix на тканевой основе 10шт" title="Лента абразивная бесконечная Р60, 75х457мм Matrix на тканевой основе 10шт" class="img-responsive">

Сайт - https://electric.pp.ua/

Надіслати
Поділитися на інших сайтах


Возможно у вас в шаблоне указано https://electric.pp.ua/image/ перед выводом ссылки на фото товара?.. Посмотрите в файле system/storage/modification/catalog/view/theme/*/template/product/category.tpl или catalog/view/theme/*/template/product/category.tpl 

Надіслати
Поділитися на інших сайтах

16 hours ago, Ulv said:

Возможно у вас в шаблоне указано https://electric.pp.ua/image/ перед выводом ссылки на фото товара?.. Посмотрите в файле system/storage/modification/catalog/view/theme/*/template/product/category.tpl или catalog/view/theme/*/template/product/category.tpl 

Просмотрел эти файлы, единственное упоминание об имидже нашел вот эти - <div class="image"><a href="<?php echo $product['href']; ?>"><img src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" title="<?php echo $product['name']; ?>" class="img-responsive" /></a></div>

Надіслати
Поділитися на інших сайтах


16 hours ago, DariyGRAY said:

Первое, куда бы рекомендовал посмотреть, файл config.php в корне сайта. Смотрите DIR_IMAGE

Посмотрел, вот эта строка -  define('DIR_IMAGE', '/home/fjpoxchm/carbontape.pp.ua/image/');, но если я ее заменяю на каталог на удаленный сервер то не загружается шапка с логотипом и выдает ошибку.

Надіслати
Поділитися на інших сайтах


43 минуты назад, sergeySergey4791 сказал:

define('DIR_IMAGE', '/home/fjpoxchm/carbontape.pp.ua/image/');

 

Ну тут все правильно

 

Покажите что у вас в catalog\model\tool\image.php и в system\storage\modification\catalog\model\tool\image.php. По той же аналогии нужно смотреть в контроллер, например, модуля "Хиты продаж".

Надіслати
Поділитися на інших сайтах

4 hours ago, DariyGRAY said:

 

Ну тут все правильно

 

Покажите что у вас в catalog\model\tool\image.php и в system\storage\modification\catalog\model\tool\image.php. По той же аналогии нужно смотреть в контроллер, например, модуля "Хиты продаж".

catalog\model\tool\image.php -

<?php
class ModelToolImage extends Model {
    public function resize($filename, $width, $height) {
        if (!is_file(DIR_IMAGE . $filename)) {
            if (is_file(DIR_IMAGE . 'no_image.jpg')) {
                $filename = 'no_image.jpg';
            } elseif (is_file(DIR_IMAGE . 'no_image.png')) {
                $filename = 'no_image.png';
            } else {
                return;
            }
        }

        $extension = pathinfo($filename, PATHINFO_EXTENSION);

        $image_old = $filename;
        $image_new = 'cache/' . utf8_substr($filename, 0, utf8_strrpos($filename, '.')) . '-' . (int)$width . 'x' . (int)$height . '.' . $extension;

        if (!is_file(DIR_IMAGE . $image_new) || (filectime(DIR_IMAGE . $image_old) > filectime(DIR_IMAGE . $image_new))) {
            list($width_orig, $height_orig, $image_type) = getimagesize(DIR_IMAGE . $image_old);

            if (!in_array($image_type, array(IMAGETYPE_PNG, IMAGETYPE_JPEG, IMAGETYPE_GIF))) {
                return DIR_IMAGE . $image_old;
            }

            $path = '';

            $directories = explode('/', dirname($image_new));

            foreach ($directories as $directory) {
                $path = $path . '/' . $directory;

                if (!is_dir(DIR_IMAGE . $path)) {
                    @mkdir(DIR_IMAGE . $path, 0777);
                }
            }

            if ($width_orig != $width || $height_orig != $height) {
                $image = new Image(DIR_IMAGE . $image_old);
                $image->resize($width, $height);
                $image->save(DIR_IMAGE . $image_new);
            } else {
                copy(DIR_IMAGE . $image_old, DIR_IMAGE . $image_new);
            }
        }

        $imagepath_parts = explode('/', $image_new);
        $new_image = implode('/', array_map('rawurlencode', $imagepath_parts));

        if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) {
            return $this->config->get('config_ssl') . 'image/' . $new_image;
        } else {
            return $this->config->get('config_url') . 'image/' . $new_image;
        }
    }
}

 

system\storage\modification\catalog\model\tool\image.php -

<?php
class ModelToolImage extends Model {
    public function resize($filename, $width, $height) {

               if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) {
                    $server = HTTPS_SERVER;
                } else {
                    $server = HTTP_SERVER;
                }

                if ($filename) {
                    $image_info = @getimagesize(DIR_IMAGE . $filename);
                    if (!$image_info) {
                        return $server . 'image/' . $filename;
                    }
                } else {
                    $filename = "no_image.png";
                }
                
        if (!is_file(DIR_IMAGE . $filename)) {
            if (is_file(DIR_IMAGE . 'no_image.jpg')) {
                $filename = 'no_image.jpg';
            } elseif (is_file(DIR_IMAGE . 'no_image.png')) {
                $filename = 'no_image.png';
            } else {
                return;
            }
        }

        $extension = pathinfo($filename, PATHINFO_EXTENSION);

        $image_old = $filename;
        $image_new = 'cache/' . utf8_substr($filename, 0, utf8_strrpos($filename, '.')) . '-' . (int)$width . 'x' . (int)$height . '.' . $extension;

        if (!is_file(DIR_IMAGE . $image_new) || (filectime(DIR_IMAGE . $image_old) > filectime(DIR_IMAGE . $image_new))) {
            list($width_orig, $height_orig, $image_type) = getimagesize(DIR_IMAGE . $image_old);

            if (!in_array($image_type, array(IMAGETYPE_PNG, IMAGETYPE_JPEG, IMAGETYPE_GIF))) {
                return DIR_IMAGE . $image_old;
            }

            $path = '';

            $directories = explode('/', dirname($image_new));

            foreach ($directories as $directory) {
                $path = $path . '/' . $directory;

                if (!is_dir(DIR_IMAGE . $path)) {
                    @mkdir(DIR_IMAGE . $path, 0777);
                }
            }

            if ($width_orig != $width || $height_orig != $height) {
                $image = new Image(DIR_IMAGE . $image_old);
                $image->resize($width, $height);
                $image->save(DIR_IMAGE . $image_new);
            } else {
                copy(DIR_IMAGE . $image_old, DIR_IMAGE . $image_new);
            }
        }

        $imagepath_parts = explode('/', $image_new);
        $new_image = implode('/', array_map('rawurlencode', $imagepath_parts));

        if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) {
            return $this->config->get('config_ssl') . 'image/' . $new_image;
        } else {
            return $this->config->get('config_url') . 'image/' . $new_image;
        }
    }
}

 

 

Надіслати
Поділитися на інших сайтах


Я вот на что обратил внимание. У вас домен electric.pp.ua, а картинки на сайте с url типа https://electric.pp.ua/image/https://elektreka.com.ua/image/. elektreka.com.ua - это что за домен? Также под вопросом define('DIR_IMAGE', '/home/fjpoxchm/carbontape.pp.ua/image/'); Это из конфига какого сайта? Если сайт electric.pp.ua, то причем тут carbontape.pp.ua?

Надіслати
Поділитися на інших сайтах

8 minutes ago, DariyGRAY said:

Я вот на что обратил внимание. У вас домен electric.pp.ua, а картинки на сайте с url типа https://electric.pp.ua/image/https://elektreka.com.ua/image/. elektreka.com.ua - это что за домен? Также под вопросом define('DIR_IMAGE', '/home/fjpoxchm/carbontape.pp.ua/image/'); Это из конфига какого сайта? Если сайт electric.pp.ua, то причем тут carbontape.pp.ua?

carbontape.pp.ua - это я по ошибке другой свой домен написал. https://elektreka.com.ua/image/catalog/katalog_tovarov/tools/nazhdachka/2368-1/62589.970.jpg" alt="Лента абразивная бесконечная Р60, 75х457мм Matrix на тканевой основе 10шт" title="Лента абразивная бесконечная Р60, 75х457мм Matrix на тканевой основе 10шт" class="img-responsive"> - это путь к имиджу на удаленном сервере, так как товары я загружал с помощью прайс листа xml,  по поводу DIR_IMAGE', '/home/fjpoxchm/carbontape.pp.ua/image/' ошибка, это другой мой домен и я в нем смотрел, правильно define('DIR_IMAGE', '/home/fjpoxchm/electric.pp.ua/image/');

Надіслати
Поділитися на інших сайтах


Скорее всего я понял в чем ваша проблема. Раз изображения находятся на удаленном сервере, значит нужно вносить кое-какие изменения. Смотрите

if ($filename) {
  $image_info = @getimagesize(DIR_IMAGE . $filename);
  if (!$image_info) {
    return $server . 'image/' . $filename;
  }
} else {
  $filename = "no_image.png";
}

return $server . 'image/' . $filename; выдает:

  • $server  - ссылка текущего домена
  • . image/ - каталог на сервере
  • $filename - путь к файлу

 

Если вы просто замените сейчас

return $server . 'image/' . $filename;

на

return $filename;

то изображения товаров у вас появятся. И учтите, что image.php у вас изменен каким-то модификаторм

 

Только в таком случае могут возникнуть проблемы с изображениями, которые находятся на локальном сервере. Это, например, изображения категорий. Нужно делать правки в коде отдельно для товаров и для всех остальных фото.

Надіслати
Поділитися на інших сайтах

10 hours ago, DariyGRAY said:

Скорее всего я понял в чем ваша проблема. Раз изображения находятся на удаленном сервере, значит нужно вносить кое-какие изменения. Смотрите


if ($filename) {
  $image_info = @getimagesize(DIR_IMAGE . $filename);
  if (!$image_info) {
    return $server . 'image/' . $filename;
  }
} else {
  $filename = "no_image.png";
}

return $server . 'image/' . $filename; выдает:

  • $server  - ссылка текущего домена
  • . image/ - каталог на сервере
  • $filename - путь к файлу

 

Если вы просто замените сейчас


return $server . 'image/' . $filename;

на


return $filename;

то изображения товаров у вас появятся. И учтите, что image.php у вас изменен каким-то модификаторм

 

Только в таком случае могут возникнуть проблемы с изображениями, которые находятся на локальном сервере. Это, например, изображения категорий. Нужно делать правки в коде отдельно для товаров и для всех остальных фото.

Вы знаете, сегодня установил модуль для удаления модулей, и удалил последний модуль который я установил, это был AJAX Quick Checkout FREE, и все изображения товаров появились. Вот теперь буду разбираться что не так с этим AJAX, и почему из за него это происходит. Вам спасибо за подсказки.

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.