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

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

Добрый день,

Подскажите пожалуйста , я проверяю свой магазин 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
      690.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 ocStore 2.3
      2.2
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.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 Условия использования лицензии: один домен - одна лицензия (покупка продукта для каждого домена). Условия использования лицензии - "на владельца". Далее...
    • От snastik
      1 200.00 руб
      Скачать/Купить дополнение


      TurboCache для Ocstore
      ----------------------------------------------------------------------------------------------------------------------------------
      Для ветки 2.x доступна продвинутая версия модуля Turbo
      ----------------------------------------------------------------------------------------------------------------------------------
      TurboCache для Ocstore
      ----------------------------------------------------------------------------------------------------------------------------------
      Ускоряет загрузку станиц до 10-15 раз, и существенно уменьшает количество запросов в базу данных.
      (к примеру на чистом Ocstore на главной странице с 74 до 19, после формирования кеша)
      ----------------------------------------------------------------------------------------------------------------------------------
      FAQ
      Как это работает?
      Opencart - если очень грубо приводить пример - это конструктор, который собирает HTML страницы, постоянно из множества разных кусков.
      При добавлении большого количества товаров и категорий, в силу особенностей архитектуры, очень долго формируются такие элементы, как верхнее меню и меню и контент стандартных модулей. Это реализовано тяжелыми запросами в базу данных. В итоге получается, что львиная доля ресурсов вашего сервера, тратится на формирование одних и тех же данных. Для того чтобы разгрузить систему, достаточно один раз сформировать структуру верхнего меню. А потом взять уже готовые данные не из базы данных, а из кеша. В некоторых подобная реализация уменьшает время генерации HTML страницы. А обработав подобным образом реализацию всех стандартные модулей, можно получить дополнительное существенное уменьшение количества однотипных запросов в базу данных и в результате ускорить время генерации страницы.
      Совместим ли модуль со сторонними фильтрами?
      Да совместим, но в несколько ограниченной реализации, так например, выборки товаров в категориях отрабатываться не будут. Равно как и на производительность работы фильтров я не в силах повлиять. Но остальные элементы будут отрабатываться и это будет давать эффект.
      Поддерживает ли модуль мультязычность?
      Да.
      Как можно понять насколько эффективно работает модуль?
      Пользуйтесь профайлером.
      Я внес изменения в категориях, результат не отображается на сайте?
      Очистите системный кеш.
      Я приобрел модуль но что то не работает?
      Обращайтесь в личку, будем настраивать.
      Не будет ли из-за gzip сжатия тормозить сервер?
      Не будет! Если что есть возможность его отключить.
      Повлияет ли модуль на оценку GooglePageSpeed?
      Значитель не повлияет, так как этот инструмент берет во внимание огромное количество факторов, не имеющих ничего общего со скоростью генерации HTML. Хотите получить большую оценку PageSpeed - пишите в личку .
      Возможности:
      - Гибкая настройка кеширования стандартных модулей и верхнего меню
      - Кеширование списка товаров на странице категорий
      - Кеширование списка товаров на странице производителей
      - Настройка время жизни кеша
      - Добавлено Gzip сжатие для файлов кеша и настройка степени компрессии.
      - Кеш-менеджер для гибкой настройки кешируемых элементов и гибкой очистки файлов кеша.
      - Поддерживает мультиязычность
      - Возможность полной очистки файлов системного кеша, изображений и vqmod.
      Установка.
      Скопируйте файлы из папки Upload и активируйте модуль в административной части вашего сайта
      !!!warning!!! Требуется vqmod !!!warning!!!
      !!!warning!!! Без активирования модуля и очистки системного кеша на фронтенде могу выводиться предупреждения php !!!warning!!!
      !!!warning!!! Обязательно сразу же после установки очистите системный кеш !!!warning!!!
      Гарантировано работает на версиях 1.5.3.x, 1.5.4.x. 1.5.5.х
      Совместим с FilterPro v2.4.2 (mega) и пока что, совместимость замечена только с этой версией.
      Идеально работает с Coolfilter.
      Примеры реализации на больших магазинах (будет обновляться):
      shopica.com.ua (55к+ товаров)
      Проведены дополнительные работы по оптимизации.
      (время загрузки категорий было 15-20 секунд), стало 1-4 сек.
      avtoinnovation.ru (50к+ товаров)
      Работы по дополнительной оптимизации не проводились, используется seo-pro без кеширования.
      (время загрузки категорий было 20+ секунд), стало < 3 сек.
      vsyakeramika.ru
      560 категории, 6500+ товаров
      (время загрузки главной было 14+ секунд) стало 0,6-0,7 сек.
      Модуль гарантированно работает на всех указанных версиях.
      Без измененных файлов.
      В случае большого количества изменений и денормализации оригинальных файлов движка может потребоваться доработка привязок Vqmod.
      Если вы используете фильтры. Есть вероятность того, что секция, отвечающая за кеширование товаров в списках категорий работать не будет - так как некоторые фильтры используют свои модели обработки данных, на которые дополнения не в состоянии влиять. Но при этом общий эффект от использования дополнения все равно будет существенным.
      Поддержка более ранних версий осуществляется по запросу в личку на форуме.
      Если вы используете filterpro или ocfilter, а также существенно модифицированные шаблоны, может потребоваться дополнительная индивидуальная платная адаптация.
      Данное дополнение решают только часть проблем, связанных с тормозами архитектуры Opencart. Для того чтобы получить глобальный прирост в скорости работы магазина, требуется большой набор методов, связанных с оптимизацией базы данных, оптимизации запросов и настройке сервера.
      Хотите быструю систему - пишите в личку.
      Требуется Vqmod,
      Не влияет на скорость работы фильтров.
      Дополнительные возможности в следующих версих
      - Кеш для списка подкатегорий на страницах катеорий.
      - Кеш для списка акционных товаров.
      - Кеш для рекомедуемых товаров.
      Demo: http://modules.oclabs.ru/admin
      log/pass: demo/
      Стоимость установки и настройки: 5000 р.
      Добавил snastik Добавлено 02.04.2014 Категория Кэширование, сжатие, ускорение Системные требования Сайт разработчика Старая цена Метод активации Ioncube Loader OpenCart ocStore OpenCart.Pro, ocShop  
    • От stalker780
      800.00 руб
      Скачать/Купить дополнение


      Файловое/Memcached кэширование mysqli
      Добавил stalker780 Добавлено 28.08.2013 Категория Кэширование, сжатие, ускорение  
    • От Boriskin
      300.00 руб
      Скачать/Купить дополнение


      Продвинутое кэширование - BrainCache
      ИНСТРУКЦИЯ ПО УСТАНОВКЕ
      Что такое кэш запросов?
      Кэш запросов можно представлять себе как хеш, ключами которого являются запросы, а значениями — результаты запросов.
      В OpenCart уже есть поддержка кэша! Зачем мне нужен BrainCache?
      Использование стандартного метода кэширивания предполагает под собой работу со всеми файлами, где нужно кэширивание со всеми вытекающими отсюда последствиями:
      децентрализованный доступ к параметрам кэшеривания
      наличие множественных вызовов методов работы с кэшом в рамках всего MVC
      отсутствие правил и исключений кэшеривания для каждого запроса
      отсутствие фильтрации запросов, т.е кэшиются запросы без анализа строк
      отсутствие фильтрации прав доступа вызовов кэшеривания по Имени файла, Классу и Методу

      Что умеет BrainCache?

      1.0 beta поддержка профилей настроек кэшеривания;
      централизованный контроль и обработка всех вызовов и обращений к БД MySQL;
      выводить часто изменяющиеся данные в отдельный массив и устанавливать для каждого элемента время кэша, где 0 — запрет кэшеривания. Для удобства добавлены константы с предопределенным значением времени: МИНУТА, ДЕНЬ, НЕДЕЛЯ, МЕСЯЦ, ГОД, ВИСОКОСНЫЙ ГОД;
      устанавливать стандартное значение времени кэша, при отсутвии удовлетворяющих правил кэшеривания (если правила для запроса отсутствуют или не подошли);
      установка ограничений доступа к таблицам БД не относящихся к магазину, но находящихся в рамках одной базы (Сценарий выдаст предупреждение и завершит работу);
      установка пути директории кэшеривания для текущего профиля;
      установка ограничения доступа к кэшу по времени для Классов, Методов классов, Метода Класса выполняющих запрос
      установка ограничения доступа к кэшу по времени для пути и имени выполняющих запросов скриптов;

      Фиксы:
      Исправлена ошибка доступа к админ-панели
      Оптимизирован цикл поиска по ассоционному массиву, разделена логика условий
      Добавлен редирект на страницу 404, в случае срабатывания блокирующего условия

      Совместимость:
      Проверялось на v1.5.4.1, но должен быть совместим со всеми версиями, потому, что для установки не нужно вносить множественные изменения.
      Добавил Boriskin Добавлено 13.03.2013 Категория Кэширование, сжатие, ускорение  
  • Последние посетители   0 пользователей онлайн

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

×