Перейти к содержанию

Рекомендуемые сообщения

Добрый день,

Подскажите пожалуйста , я проверяю свой магазин W3C validator'ом он говорит что  in.ua/image/cache/data/logo[1]-200x50.png" alt="SPL" title="SPL" /></a>

</div>

Bad value http://www.xxx.ua/image/cache/data/logo[1]-200x50.png for attribute src on element img: Illegal character in path segment: not a URL code point.

я так понимаю что символ [...] - и вызывает эту ошибку.

 

Вопрос! где в контроллере функция которая кеширует это все? все что надо сделать заменть [...] на (...) и думаю хватит этого!

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет, не кеширует

 

Нужно делать urlencode таких имен

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет, не кеширует

 

Нужно делать urlencode таких имен

 а я думал что надо кэш править, хорошая идея, думаю должно решить проблему, но вопрос все-же остался тот-же, куда надо добавить urlencode? в каком файле искать ? если знаете, то буду очень благодарен!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в контроллерах, где выводится $image

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

\catalog\model\tool\image.php

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

\catalog\model\tool\image.php

Да, в одном месте :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, в одном месте :)

покопался немного посмотрел что возвращает в  пути, оказывается все немного не так как я думал изначально! файл при загрузке через файл менеджер приобретает имя формата "ИМЯ[1].jpg" значит наверное надо смотреть файл менеджер что и как он сохраняет. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

покопался немного посмотрел что возвращает в  пути, оказывается все немного не так как я думал изначально! файл при загрузке через файл менеджер приобретает имя формата "ИМЯ[1].jpg" значит наверное надо смотреть файл менеджер что и как он сохраняет. 

а вообще подумал что быстрее фотки переименую, это должно решить проблему, решение кривое, но пока не знаю  лучшего, если есть идеи, буду рад выслушать!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты


$new_image = urlencode($new_image);

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;

}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
$new_image = urlencode($new_image);
		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;
		}

Спасибо, помогло! как я не заметил эти ретурны.. наверно пора отдыхать.. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

При чем тут библиотека image и кеш, если вам просто надо синтаксис tpl поправить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

При чем тут библиотека image и кеш, если вам просто надо синтаксис tpl поправить.

интересно.. если не затруднит объясните, для личного познания.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Погуглите в направлении "спецификации html" и "doctype".

В зависимости от версии - отличается синтаксис.

 

В вашей ситуации для прохождения валидации нужно убрать отсюда

in.ua/image/cache/data/logo[1]-200x50.png" alt="SPL" title="SPL" /></a>

слеш перед > чтобы получилось вот так. А библиотеки opencart  тут не причем - это элментарный синтаксис HTML

in.ua/image/cache/data/logo[1]-200x50.png" alt="SPL" title="SPL"></a>


 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо, за объяснения. завтра займусь спецификациями.  

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день! Подскажите куда именно или вместо чего надо вставить данный кусок кода?

 

Валидатор мне выдает 4 ошибки, как их устранить не понятно:

    Error: Bad value http://site.com/image/cache/catalog/logotyps/Franklin Wireless-130x100.jpg for attribute src on element img: Illegal character in path segment: space is not allowed.

    From line 215, column 29; to line 215, column 170

    franklin"><img src="http://site.com/image/cache/catalog/logotyps/Franklin Wireless-130x100.jpg" alt="Franklin Wireless" class="img-responsive" /></a>↩ 

    Error: Bad value http://site.com/image/cache/catalog/ZTE AC81_2-200x200.jpg for attribute src on element img: Illegal character in path segment: space is not allowed.

    From line 258, column 111; to line 258, column 338

    -novinka"><img src="http://site.com/image/cache/catalog/ZTE AC81_2-200x200.jpg" alt="ZTE AC81 3…бит/с НОВИНКА" title="ZTE AC81 3G CDMA Rev.B МОДЕМ до 14,7 Мбит/с НОВИНКА" class="img-responsive" /></a></

    Error: Bad value http://site.com/image/cache/catalog/mircdma/Cricket A600-200x200.jpg for attribute src on element img: Illegal character in path segment: space is not allowed.

    From line 338, column 90; to line 338, column 277

    cal-comp"><img src="http://site.com/image/cache/catalog/Cricket A600-200x200.jpg" alt="3G модем Cricket A600 Cal-Comp" title="3G модем Cricket A600 Cal-Comp" class="img-responsive" /></a></

    Error: Bad value http://site.com/image/cache/catalog/Samsung SCH-LC11 CDMA-LTE_4-200x200.jpg for attribute src on element img: Illegal character in path segment: space is not allowed.

    From line 515, column 209; to line 515, column 647

    -antenny"><img src="http://site.com/image/cache/catalog/Samsung SCH-LC11 CDMA-LTE_4-200x200.jpg… для операторов Интертелеком, PEOPLEnet с поддержкой внешней cdma антенны" class="img-responsive" /></a></

Мой файл imagе.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;
}
}
}

 

$new_image = urlencode($new_image);
		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;
		}
Изменено пользователем webcomp

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а это он специально ругается на любителей использовать пробелы в названиях файлов и папок ;)

 

неоднократно обсуждалось - не используйте спецсимволы в названии файлов, папок и seourl

желательно использовать только латиницу в нижнем регистре и цифры, а все что отличается - менять на тире или нижнее подчеркивание (или опускать совсем)

избавит от множества проблем

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От markimax
      990.00 руб
      Скачать/Купить дополнение


      Jet Cache - кеширование, оптимизация для магазинов

       

      Логин / пароль:
      demo / demo
       
      Документация  
      Более 10`000 интернет магазинов выбрали SEO CMS для работы
      SEO CMS JET CACHE :: Jet Cache - быстрая система кеширования страниц, контроллеров и методов моделей opencart

      Версия под opencart 3.x высылается по запросу
      Возможности
       
      - кеширует полностью страницы при полной интеграции с opencart (позволяет кешировать и для зарегистрированных пользователей и изменений корзины а также в зависимости от изменений в модулях)  
      - кеширует выбранные контроллеры (т е фактически  любые модули, будь то меню или т.п. а также полностью кеширует позиции (уникальная технология которая не реализовано ни в одном модуле кеширования для opencart) (с))  
      - кеширует методы моделей opencart (подсчет количества товаров и т п )  
      - простая установка и обновление  
      - гибкие настройки  
      - поддержка мультиязычности  
      - поддержка мультимагазинов  
      - поддержка протоколов https и http  
      - гибкая взаимосвязь с любым функционалом платформы SEO CMS  
      - совместимость с любой темой, любыми модулями, которые соответствуют стандартам программирования  
      - поддержка кеширования sitemap Чем модуль лучше других
       
      - уникальные технологии кеширования не имеющие аналогов в opencart (уникальная технология полной интеграции с opencart, в отличии от всех кешировщиков которые сделанны по технологии v2pc)  
      - модуль работает с любыми темами и модулями Требования
       
      Opencart 2.x или любая сборка на нем (ocStore, Opencart.PRO, или другие) PHP 5.3 или выше Модуль НЕ заменяет файлы системы Модуль НЕ использует ioncube  
      Совместимость модуля
       
      Opencart 2.x или любая сборка на нем (ocStore, Opencart.PRO, или другие) Любая тема или любые модули (которые сделаны без ошибок, согласно стандартов программирования или верстки) для оpencart 2.x  
      Установка, настройка
       
      Если пользователь хочет чтобы сотрудник службы технической поддержки проделал работу по установке и настройке модуля вместо пользователя на сервере пользователя, это уже услуга + 590 рублей  
      Лицензия Все права на модуль принадлежат разработчикам opencartadmin.com Условия использования лицензии: один домен - одна лицензия (покупка продукта для каждого домена). Условия использования лицензии - "на владельца". Далее... Добавил markimax Добавлено 15.03.2017 Категория Кэширование, сжатие, ускорение Системные требования PHP 5.3+ Сайт разработчика https://opencartadmin.com/seo-cms-jet-cache.html Старая цена 590 Метод активации Через официальный сайт дополнения Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0
      1.5.6.4
      1.5.6.3
      1.5.6.2
      1.5.6.1
      1.5.6
      1.5.5.1
      1.5.5
      1.5.4.1
      1.5.3.1 ocStore 2.3
      2.2
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х
      OcShop 1.5.6.4.х  
    • От p0v1n0m
      Скачать/Купить дополнение


      Чистильщик кэша и логов
      Модуль поможет очистить кэш и логи одним кликом, находясь на любой странице админки.
       
      Установка:
      1. Загрузить скачанный архив для своей версии движка через Установщик дополнений.
      2. Очистить и Обновить кэш в Менеджере дополнений.
      3. Установить и включить модуль.
      Добавил p0v1n0m Добавлено 15.08.2016 Категория Кэширование, сжатие, ускорение Системные требования Сайт разработчика https://github.com/p0v1n0m/opencart_storage_cleaner Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 2.3
      2.2
      2.1 ocStore 2.3
      2.2
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1  
    • От p0v1n0m
      Модуль поможет очистить кэш и логи одним кликом, находясь на любой странице админки.
       
      Установка:
      1. Загрузить скачанный архив для своей версии движка через Установщик дополнений.
      2. Очистить и Обновить кэш в Менеджере дополнений.
      3. Установить и включить модуль.
    • От markimax
      Логин / пароль:
      demo / demo
       
      Документация  
      Более 10`000 интернет магазинов выбрали SEO CMS для работы
      SEO CMS JET CACHE :: Jet Cache - быстрая система кеширования страниц, контроллеров и методов моделей opencart

      Версия под opencart 3.x высылается по запросу
      Возможности
       
      - кеширует полностью страницы при полной интеграции с opencart (позволяет кешировать и для зарегистрированных пользователей и изменений корзины а также в зависимости от изменений в модулях)  
      - кеширует выбранные контроллеры (т е фактически  любые модули, будь то меню или т.п. а также полностью кеширует позиции (уникальная технология которая не реализовано ни в одном модуле кеширования для opencart) (с))  
      - кеширует методы моделей opencart (подсчет количества товаров и т п )  
      - простая установка и обновление  
      - гибкие настройки  
      - поддержка мультиязычности  
      - поддержка мультимагазинов  
      - поддержка протоколов https и http  
      - гибкая взаимосвязь с любым функционалом платформы SEO CMS  
      - совместимость с любой темой, любыми модулями, которые соответствуют стандартам программирования  
      - поддержка кеширования sitemap Чем модуль лучше других
       
      - уникальные технологии кеширования не имеющие аналогов в opencart (уникальная технология полной интеграции с opencart, в отличии от всех кешировщиков которые сделанны по технологии v2pc)  
      - модуль работает с любыми темами и модулями Требования
       
      Opencart 2.x или любая сборка на нем (ocStore, Opencart.PRO, или другие) PHP 5.3 или выше Модуль НЕ заменяет файлы системы Модуль НЕ использует ioncube  
      Совместимость модуля
       
      Opencart 2.x или любая сборка на нем (ocStore, Opencart.PRO, или другие) Любая тема или любые модули (которые сделаны без ошибок, согласно стандартов программирования или верстки) для оpencart 2.x  
      Установка, настройка
       
      Если пользователь хочет чтобы сотрудник службы технической поддержки проделал работу по установке и настройке модуля вместо пользователя на сервере пользователя, это уже услуга + 590 рублей  
      Лицензия Все права на модуль принадлежат разработчикам opencartadmin.com Условия использования лицензии: один домен - одна лицензия (покупка продукта для каждого домена). Условия использования лицензии - "на владельца". Далее...
    • От kJlukOo
      300.00 руб
      Скачать/Купить дополнение


      CART CACHE - кэшируем корзину (cart.php => getProducts)
      в опенкарте есть метод getProducts библиотеки cart.php
      этот метод вовзращает содержимое корзины для текущего пользователя
      на боевом магазине обычно этот метод вызывается 50+ раз
      соответственно происходит избыточная нагрузка на бд и на сайт в целом
      этот модуль кэширует возвращаемые данные до изменения корзины. те вместо 50+ раз метод отработает 1 раз,
      закэширует данные и одаст следующим 49+ 
      кэш хранится в сессии на стороне сервера(очевидно)
      данное кеширование используется в моем модуле
       
      Добавил kJlukOo Добавлено 25.08.2018 Категория Модули Системные требования Сайт разработчика https://awaro.ru Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0 ocStore 3.0
      2.3
      2.2
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х  
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.