Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

Кэш


trussss
 Поделиться

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

Добрый день,

Подскажите пожалуйста , я проверяю свой магазин 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? в каком файле искать ? если знаете, то буду очень благодарен!

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


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

покопался немного посмотрел что возвращает в  пути, оказывается все немного не так как я думал изначально! файл при загрузке через файл менеджер приобретает имя формата "ИМЯ[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 поправить.

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

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


Погуглите в направлении "спецификации 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>


 

 

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

  • 2 года спустя...

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

 

Валидатор мне выдает 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

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

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

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

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

×
×
  • Создать...

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

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