Путь к картинке имеет 2 слеша - /cache//catalog/

Тема в разделе "Ошибки и их решения", создана пользователем Andrey_msk, 8 мар 2015.

  1. Andrey_msk

    Andrey_msk Пользователь

    Сообщения:
    31
    Симпатии:
    6
    Путь к картинке имеет 2 слеша...
    сайта.ру/image/cache//catalog/товар.jpg
    Что подправить чтобы был один слеш?
     
  2. Ален

    Ален Эксперт

    Сообщения:
    2.056
    Симпатии:
    640
    Давайте начнем с самого простого. )
    Движок? Версия? Адрес сайта? Хостинг?
    Какие нибудь дополнения установлены ...
    При установке все крыжики были зелеными? Красных не было??
     
  3. Andrey_msk

    Andrey_msk Пользователь

    Сообщения:
    31
    Симпатии:
    6
    • Opencart 2.0.1.1 "Русская сборка"
    • www.lebedka-market.ru/
    • REG.RU (logol.ru)
    • Шаблон Journal2
    А вот насчет кружков... думаю все были зеленые... проблем не было...
     
  4. Ален

    Ален Эксперт

    Сообщения:
    2.056
    Симпатии:
    640
    У автора шаблона не спрашивали?

    Сравните файл по пути catalog\model\tool\image.php
    c файлом из сборки..

    Чтобы сразу исключить варианты, переключитесь временно на тему по умолчанию... и посмотрите..

    А изображения загружаются штатно? Без каких либо дополнений??
     
    Последнее редактирование: 8 мар 2015
  5. Andrey_msk

    Andrey_msk Пользователь

    Сообщения:
    31
    Симпатии:
    6
    1. Файл image.php без изменений - проверил
    2. Переключил шаблон на стандартный - слеши так и остались
    3. Изображения загружаются штатно


    Код:
    <?php
    class ModelToolImage extends Model {
        public function resize($filename, $width, $height) {
            if (!is_file(DIR_IMAGE . $filename)) {
                return;
            }
    
            $extension = pathinfo($filename, PATHINFO_EXTENSION);
    
            $old_image = $filename;
            $new_image = 'cache/' . utf8_substr($filename, 0, utf8_strrpos($filename, '.')) . '-' . $width . 'x' . $height . '.' . $extension;
    
            if (!is_file(DIR_IMAGE . $new_image) || (filectime(DIR_IMAGE . $old_image) > filectime(DIR_IMAGE . $new_image))) {
                $path = '';
    
                $directories = explode('/', dirname(str_replace('../', '', $new_image)));
    
                foreach ($directories as $directory) {
                    $path = $path . '/' . $directory;
    
                    if (!is_dir(DIR_IMAGE . $path)) {
                        @mkdir(DIR_IMAGE . $path, 0777);
                    }
                }
    
                list($width_orig, $height_orig) = getimagesize(DIR_IMAGE . $old_image);
    
                if ($width_orig != $width || $height_orig != $height) {
                    $image = new Image(DIR_IMAGE . $old_image);
                    $image->resize($width, $height);
                    $image->save(DIR_IMAGE . $new_image);
                } else {
                    copy(DIR_IMAGE . $old_image, DIR_IMAGE . $new_image);
                }
            }
    
            if ($this->request->server['HTTPS']) {
                return $this->config->get('config_ssl') . 'image/' . $new_image;
            } else {
                return $this->config->get('config_url') . 'image/' . $new_image;
            }
        }
    }
     
  6. Ravilr

    Ravilr Специалист

    Сообщения:
    3.879
    Симпатии:
    1.065
    Я с таким глюком не сталкивался... странно как то. Может какой нибудь кривой модификатор установлен??
    Есть возможность посмотреть в базу данных, например таблицу oc_product_image
    Как там записаны пути?? По умолчанию должно быть без дроби в начале, типа так data/demo/nikon_d300_5.jpg
     
  7. Andrey_msk

    Andrey_msk Пользователь

    Сообщения:
    31
    Симпатии:
    6
    Проблему решил, всем спасибо за помощь…

    в файле image.php, удалил слеш - new_image = 'cache/' , и файла стали загружаться с одним слешом, как положено.
     
    Ален нравится это.
  8. Ален

    Ален Эксперт

    Сообщения:
    2.056
    Симпатии:
    640
    Самое обидное, что не узнали почему так (( Т.е проблема решена, а откуда она появилась не известно.
    И почему имена файлов попадают со слешом вначале.
     
  9. RomanMuradov

    RomanMuradov Новичок

    Сообщения:
    7
    Симпатии:
    0
    Та же проблема, но с добавлением картинок на информационные страницы
    • Opencart 2.0.3.1 "Русская сборка"
    • Шаблон Journal2
    двойной слеш у URL http://mysite.ru/image//img.jpg
    при переходе на дефолтную тему - проблема сохраняется
    catalog\model\tool\image.php c файлом из сборки идентичны
    в базе данных ссылка имеет вид /catalog/07.jpg в таблице oc_product_image
    если заливать картинки на сайт через фтп - то картинка доступна по прямой ссылке -даже с //
     
  10. Ален

    Ален Эксперт

    Сообщения:
    2.056
    Симпатии:
    640
    ну у вас проблема не таже. Возможно лишний слеш в config.php
     
  11. RomanMuradov

    RomanMuradov Новичок

    Сообщения:
    7
    Симпатии:
    0
    define('DIR_IMAGE', 'C:/inetpub/wwwroot/mysite/image/ - в конфигах одинарные все стоят
     
  12. RomanMuradov

    RomanMuradov Новичок

    Сообщения:
    7
    Симпатии:
    0
    Проблема именно в том, что не видны картинки загруженные через редактор и именно на информационных страницах. Может есть идеи в какую сторону посмтреть?
     
  13. Ален

    Ален Эксперт

    Сообщения:
    2.056
    Симпатии:
    640
    так это видимо магические кавычки какие нибудь. При установке все кружечки были зеленые? Попробуйте установить еще и посмотреть внимательно!!
     
  14. RomanMuradov

    RomanMuradov Новичок

    Сообщения:
    7
    Симпатии:
    0
    Кружочки зеленые :))) - доступно спросили, спасибо. Установленно сверху seo pro - и корректировки в шаблона, может есть путь анализа без переустановок ????
     
  15. Ален

    Ален Эксперт

    Сообщения:
    2.056
    Симпатии:
    640
    не переустановка, а установка заново в отдельную папку в новую бд.
    может и он глючит.
     
  16. Andrey_msk

    Andrey_msk Пользователь

    Сообщения:
    31
    Симпатии:
    6
    Переустановка не поможет и дело не в сеопро... (я все это пробовал)
    Какой у вас хостинг?
     
  17. RomanMuradov

    RomanMuradov Новичок

    Сообщения:
    7
    Симпатии:
    0
    Сервер с iis на windows serwer 2008 rs - крутится вот такая не стандартная ситуация
     
  18. Ален

    Ален Эксперт

    Сообщения:
    2.056
    Симпатии:
    640
    это худшая ситуация. Меняйте.
     
  19. RomanMuradov

    RomanMuradov Новичок

    Сообщения:
    7
    Симпатии:
    0
    Чем же она худшая? Тем что это вам необычно? На выделенном сервере крутится действующий ИМ на asp.net , что ды запустить им на опенкарте, предлагаете купить еще один сервер?
     
  20. Ален

    Ален Эксперт

    Сообщения:
    2.056
    Симпатии:
    640
    да. Мне необычно. Все ошибки которые появляются как раз крутятся вокруг иис, и таких ошибок много.
    Ну и решать видимо вам придется в одиночку.

    Ну если у вас 100000 товаров и столько же поситителей, то наверно придется покупать сервер. Если нет, то подойдет обычный шаред хостинг на unix за 100р. в месяц.