Ремонт компьютера
Сборка, чистка, апгрейт ремонт любой техники.
Замена частей, установка ПО, установка Windows, антивируса.
Удаленная помощь без вызова на дом.
Создание сайта
Создание сайта с нуля, модулей, скриптов для сайта.
Движки Joomla, Wordpress, Opencart, Prestashop и тд.
SEO продвижение, ремонт, оптимизация сайта.

Уберем пробелы из ссылок для Яндекс маркет-Opencart

Когда генерировались товары ругался что ссылка не соответствует норме: Приведите URL в соответсвие стандарту RFC-1738 (http://tools.ietf.org/html/rfc1738)

Оказалось всего то пробелы были в кеше картинок (picture). Еще и папка как назло с пробелом была, ну не будем же менять папку, и потом обновлять ссылки на всем сайте, благо это кеш. Мы просто научим кеш правильно создавать ссылки, без пробелов в каталоге и имени файла. Еще можно научить его чтобы и русские преобразовал в латиницу, но благо и так поддерживает яндекс март.

19de2ecefafa21a8fcfb06e98fa689c80e54c3e21b57cd76e3pimgpsh_fullsize_distr

Так же у нас у товара оказался alias с пробелом, думаю вы гко это поправите сами через админку (url).

<offer id="225" available="true" >
<url>http://liprice.ru/umnye-chasy/umnyj braslet-smart-bracelet-tw64</url>
<price>1330</price>
<currencyId>RUB</currencyId>
<categoryId>90</categoryId>
<picture>http://liprice.ru/image/cache/catalog/Cute look/-TM-TW64-Smart-Watch Bluetooth-Watch-Bracelet-Smartband-Calorie-Counter-Wireless-Pedometer-Sport-Activity-Tracker-Android-IOS-Phone-Black-0-0-100x100.jpg</picture>
<delivery>true</delivery>
<name>Умный браслет SMART BRACELET TW64</name>
<vendor></vendor>
<vendorCode>8210</vendorCode>
<description>Умные часы и браслеты созданы для того, чтобы напоминать вам о всех важных события...</description>
</offer>

 

И так добавим строчку в файл catalog/model/tool/image.php

находим

$new_image = 'cache/' . utf8_substr($filename, 0, utf8_strrpos($filename, '.')) . '-' . $width . 'x' . $height . '.' . $extension;

и после нее добавим нужное:

// уберем пробеллы в кеш картинках
 $new_image=str_replace(' ','_',$new_image);

Вот что у меня вышло в файлике, благо он небольшой, выкину весь код его:

<?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;
 
 // уберем пробеллы в кеш картинках
 $new_image=str_replace(' ','_',$new_image);
 
 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;
 }
 }
}

 

Результат радует глаз и без ошибок в маркете:

<offer id="225" available="true" >
<url>http://liprice.ru/umnye-chasy/umnyj-braslet-smart-bracelet-tw64</url>
<price>1330</price>
<currencyId>RUB</currencyId>
<categoryId>90</categoryId>
<picture>http://liprice.ru/image/cache/catalog/Cutelook-TM-TW64-Smart-Watch-Bluetooth-Watch-Bracelet-Smartband-Calorie-Counter-Wireless-Pedometer-Sport-Activity-Tracker-Android-IOS-Phone-Black-0-0-100x100.jpg</picture>
<delivery>true</delivery>
<name>Умный браслет SMART BRACELET TW64</name>
<vendor></vendor>
<vendorCode>8210</vendorCode>
<description>Умные часы и браслеты созданы для того, чтобы напоминать вам о всех важных события...</description>
</offer>
Название статьи при не правильной раскладке клавиатуры: E,thtv ghj,tks bp ccskjr lkz Яyltrc vfhrtn-Opencart
Если вдруг появилось желание поблагодарить автора,просто нажмите на рекламу чуть ниже, этого будет достаточно :)

Добавить комментарий

Ваш e-mail не будет опубликован.


Вставьте верное число *