Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Кэш


trussss

Recommended Posts

Добрый день,

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

Надіслати
Поділитися на інших сайтах


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

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

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

 

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

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

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

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.