Как убрать пробелы из URL-ов?

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

  1. Bratello33

    Bratello33

    Регистрация:
    20 фев 2014
    Сообщения:
    16
    Симпатии:
    0
    Добрый день всем!

    Есть сайт на MaxyStore. Нужно выгружать прайс для Яндекс-Маркета. Некоторые ссылки на рисунки имеют пробелы, на которые ругается Маркет.
    Как их убрать системно?
     
  2. kama812

    kama812

    Регистрация:
    30 мар 2013
    Сообщения:
    311
    Симпатии:
    195
    попробуй строчки в файле catalog/controller/feed/yandex_yml.php

    $data['picture'] = array($this->model_tool_image->resize($product['image'], 600, 600));
    заменить на
    $data['picture'] = array(urlencode($this->model_tool_image->resize($product['image'], 600, 600)));

    и
    $img_src = $this->model_tool_image->resize($image, 600, 600);
    на
    $img_src = urlencode($this->model_tool_image->resize($image, 600, 600));


    чёт у меня проблемы с этим способом, попробуй на крайняк вместо urlencode( .. )
    str_replace(' ','%20', $this->model_tool_image->resize($image, 600, 600));
     
    Последнее редактирование: 26 мар 2014
  3. Bratello33

    Bratello33

    Регистрация:
    20 фев 2014
    Сообщения:
    16
    Симпатии:
    0
    У меня нет такого файла yandex_yml.php
    Суть в том, что прайс для Маркета генерируется отдельным модулем. Он тупо копирует ссылки на рисунки. То есть сами URL-ы рисунков тоже содержат пробелы. Надо чтобы движок формировал сами ссылки без пробелов, например с нижним подчеркиванием или 20%.
     
  4. kama812

    kama812

    Регистрация:
    30 мар 2013
    Сообщения:
    311
    Симпатии:
    195
    ну я не знаю какой у тебя модуль, и как он передает ссылки, может код контроллера куда нить скинешь?
    тоже самое с str_replace можно сделать и в controller/tool/image.php в system/library/image.php , просто хз с помощью чего твой модуль генерирует ссылки, и вообще ресайзит изображения, или берет прям из базы
     
  5. Bratello33

    Bratello33

    Регистрация:
    20 фев 2014
    Сообщения:
    16
    Симпатии:
    0
    Дело-то не в модуле, а в самом движке. Надо найти способ генерировать ссылки без пробелов. Если это в модуле делать, то ссылка, полученная модулем не будет соответствовать исходной. Соответственно, Маркет все равно станет ругаться.
     
  6. kama812

    kama812

    Регистрация:
    30 мар 2013
    Сообщения:
    311
    Симпатии:
    195
    тогда дело не в движке, а п простом правиле что в названиях файлом никгда не должно быть пробелов, русского языка, и прочих кракозябр.
    на ссылки с %20 вместо пробела маркет ругаться не должен, и картинка по этой ссылке должно спокойно находится без редиректов.
     
  7. Bratello33

    Bratello33

    Регистрация:
    20 фев 2014
    Сообщения:
    16
    Симпатии:
    0
    Ну я ж не могу в название товара, если он из двух слов состоит, писать без пробелов или с %20.
    В этом и вопрос: как сделать, чтобы название с пробелом порождало ссылку с %20 или еще с чем-то вместо пробела. Я так понимаю, что пока решения нет?
     
  8. kama812

    kama812

    Регистрация:
    30 мар 2013
    Сообщения:
    311
    Симпатии:
    195
    при чем тут название товара и имя файла картинки?
    повторюсь
    в названиях файлов никгда не должно быть пробелов, русского языка, и прочих кракозябр, только a-zA-Z0-9