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

Коряво обрезается название товара в карточке. Символ �


Recommended Posts

Доброго времени суток всем!

Возникла проблема с выводом текста названия товара в карточке – скриншот

При длине текста более 26 символов (с пробелами), он обрезается и добавляется символ вопроса с троеточием �... 

С троеточнием всё понятно, но вот откуда добавляется вопрос � хотелось бы пофиксить. В файле шаблона нашел такой вывод:

<h4 class="product-name"><a href="{{ product.href }}">{{ product.name }}</a></h4>

Не смог найти откуда подсасывается {{ product.name }} в цмске, кто знает, подскажите плиз!

Или, если у кого есть другие идеи как исправить данную проблему, тоже выскажитесь, пожалуйста!

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


Из Википедии https://ru.wikipedia.org/wiki/Специальные_символы

Данный символ � отображается, когда какой-либо символ Юникода не поддерживается самой системой пользователя или не включён в набор шрифта.

 

Пробовал изменить шрифт, всё равно символ не исчезает... Или я неправильно понял

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


15 минут назад, krutoperdoff сказал:

Не смог найти откуда подсасывается {{ product.name }}

в catalog/controller/product либо category посмотрите чтоб описание было так

 

'description' => utf8_substr(trim(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8'))), 0, $this->config->get('theme_' . $this->config->get('config_theme') . '_product_description_length')) . '..',

 

либо имя выведите таким же способом, если в имени проблема.

Змінено користувачем smartcoder
Надіслати
Поділитися на інших сайтах

15 часов назад, smartcoder сказал:

'description' => utf8_substr(trim(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8'))), 0, $this->config->get('theme_' . $this->config->get('config_theme') . '_product_description_length')) . '..',

 

Нашел в catalog/controller/product/category.php вот такое:

$data['products'][] = array(
	'product_id'  => $result['product_id'],
	'thumb'       => $image,
	'name'        => $result['name'],
	'description' => utf8_substr(trim(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8'))), 0, $this->config->get('theme_' . $this->config->get('config_theme') . '_product_description_length')) . '..',
	'price'       => $price,
	'special'     => $special,
	'rate_special' => $rate_special,
	'tax'         => $tax,
	'minimum'     => $result['minimum'] > 0 ? $result['minimum'] : 1,
	'rating'      => $result['rating'],
	'href'        => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url)
);

Дальше не допру что делать...

Змінено користувачем krutoperdoff
Надіслати
Поділитися на інших сайтах


  • 2 weeks later...
В 05.06.2018 в 13:48, smartcoder сказал:

Вам все подробно написал, перечитайте.

пообщался с ТП хостинга, в общем, они пишут:

Цитата

На хостинге везде по умолчанию

используется кодировка UTF-8.

Если у вас также используется эта

кодировка, то проблем быть не должно.

Проблема может возникать, если вы, к

примеру, загружаете на сервер какие-то

данные из Windows - там кодировка Windows-1251.

но я работаю на Макбуке, так им и написал, ответ был такой:

Цитата

в любом случае на такую проблему никогда

никто не жаловался.

обычно проблемы бывают, если клиент

загружает контент, к примеру, в win-1251, а

отображение у него настроено в кодировке

UTF-8, ну или наоборот.

скорее всего проблема в OpenCart.

 

@smartcoder, также заметил вот какую вещь, при именовании товара латинскими буквами, всё обрезается корректно, без каких либо вопросиков (�) – скриншот

 

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


1 минуту назад, krutoperdoff сказал:

пообщался с ТП хостинга, в общем, они пишут

Если хостер пишет что UTF-8 - значит у вас в файлах копайте в opencarte

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

5 минут назад, smartcoder сказал:

Если хостер пишет что UTF-8 - значит у вас в файлах копайте в opencarte

благодарю! куда копать, что надо найти?) сори за тупые вопросы, я ламер) 

буду очень благодарен, если подскажете

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


В 04.06.2018 в 12:51, krutoperdoff сказал:

Нашел в catalog/controller/product/category.php вот такое:


$data['products'][] = array(
	'product_id'  => $result['product_id'],
	'thumb'       => $image,
	'name'        => $result['name'],
	'description' => utf8_substr(trim(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8'))), 0, $this->config->get('theme_' . $this->config->get('config_theme') . '_product_description_length')) . '..',
	'price'       => $price,
	'special'     => $special,
	'rate_special' => $rate_special,
	'tax'         => $tax,
	'minimum'     => $result['minimum'] > 0 ? $result['minimum'] : 1,
	'rating'      => $result['rating'],
	'href'        => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url)
);

Дальше не допру что делать...

 

в catalog/controller/product/category.php

 

вот эту строчку 

'name'        => $result['name'],

 

поменять на это

'name'        => utf8_substr(strip_tags(html_entity_decode($result['name'], ENT_QUOTES, 'UTF-8')), 0, 200),

 

 

Змінено користувачем smartcoder
Надіслати
Поділитися на інших сайтах

  • 3 months later...
4 часа назад, spectre сказал:

mb_substr

 <h4 class="product-name"><a href="<?php echo $product['href']; ?>"><?php echo mb_substr($product['name'],0,200,'UTF-8').'...'; ?></a></h4>

Сейчас вот так стоит, но выводится 24 символа всего

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


  • 2 months later...
  • 4 weeks later...

Таже самая проблема с сайтом. При в каталоге часть имен режется со знаком вопроса в конце. Но при перелистывании страниц товаров кнопками снизу, все становится правильно. Прошу помощи.

Видео:

 

 

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


  • 1 month later...

Привет всем, такая же проблема, сделал всё по примерам с этого топика, но выводится max 24 символа

2 spectre - "Вам тоже читать про mb_substr, не знаю есть ли видео по этой функции" - так нигде внятно не нашёл ответа, все методы которые нашёл или другая версия Opencart или другие темы с другой структурой. Может быть в моём случае где-то в скриптах зашито т.к. во всех перечисленных в топике местах всё менял, но результат 0, меньше 24 символов получается сделать, больше нет. Ещё заметил, что добавились ещё три точки к названию продукта, это наверно означает, что я дублирую команду вывода, значит где-то ещё есть mb_substr.

Мои данные магазина:

Opencart 2.3.0.2

Teмa - Bege1 

 

Безымянный-4.jpg

Змінено користувачем Gamburg
Надіслати
Поділитися на інших сайтах


On 9/24/2018 at 11:05 PM, nastoyash said:

 <h4 class="product-name"><a href="<?php echo $product['href']; ?>"><?php echo mb_substr($product['name'],0,200,'UTF-8').'...'; ?></a></h4>

Сейчас вот так стоит, но выводится 24 символа всего

Получилось разобраться? У меня точь в точь такая проблема!

Змінено користувачем Gamburg
Надіслати
Поділитися на інших сайтах


  • 5 months later...

3.0.2. Докопался наконец-то до этого долбаного файла методом перебора, открывая один за другим.

 

/ваш_сайт/storage/modification/catalog/controller/product/category.php

 

$c_words = 100;
$result['name'] = strlen($result['name']) > $c_words ? substr($result['name'],0,$c_words)."..." : $result['name'];

 

$c_words был = 45, изменил на = 100 и всё - никаких косяков в названии, название без сокращений.

 

Не знаю, как у кого, но мне помогло. Кстати, что интересно, в /ваш_сайт/public_html/catalog/controller/product/category.php очищал файл полностью, сохранял - 0 эмоций, на сайте никаких ошибок, всё отображается как и раньше. Переименовал его - товаров в категории нет. Делал со сбросом кэшей в админке

2019-07-10_14-24-49.png

Змінено користувачем Rylezzz
  • +1 1
Надіслати
Поділитися на інших сайтах


  • 1 month later...

У меня в $result['name'] = strlen($result['name']) > 40 ? substr($result['name'],0,40)."..." : $result['name'];

 

поставил по 200, все заработало. 

 

/ваш_сайт/system/storage/modification/catalog/controller/product/category.php

 

Opencart 2.3.0 Тема Bigone

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


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

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

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

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

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

Вхід

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

Вхід зараз

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

Important Information

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