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

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

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

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

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

При длине текста более 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

Поделиться сообщением


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

читать про mb_substr

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
15 часов назад, smartcoder сказал:

Кодировка не настроена или у хостера либо в шаблоне

Кодировка в мета-теге прописана UTF-8

Поделиться сообщением


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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 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

Поделиться сообщением


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

могу в рамках одного доброго дела в день починить - фтп с админкой - в лс

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
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 символа всего

Поделиться сообщением


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

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

Видео:

 

 

Поделиться сообщением


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

Вам тоже читать про mb_substr, не знаю есть ли видео по этой функции 

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От matroskin92
      Скачать/Купить дополнение


      Просмотренные товары
      Простое решение для вывода ранее просмотренных товаров непосредственно на странице товара, без дополнительных настроек и в любом месте Вашего шаблона (Демо).
      Для того, чтобы увидеть результат, пройдитесь по нескольким товарам. 
       
       
       
      УСТАНОВКА
      Для установки модуля - загрузите файл в установщик и обновите кэш модификаторов и сайта.
      Для отображения модуля на странице товара добавьте код
      {{ matrosite_looked }} в нужной части файла product/product.twig
       
       
       
      ПОДДЕРЖКА
      Поддержка в личных сообщениях.
       
      ДРУГИЕ ВЕРСИИ OPENCART
      Вероятно, это бессмысленно, но если кому-то нужно, то без проблем.
      Добавил matroskin92 Добавлено 09.01.2019 Категория Модули Системные требования Сайт разработчика matrosite.ru Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 3.0 ocStore 3.0 OpenCart.Pro, ocShop Не проверялось  
    • От 23keks23
      1 500.00 руб
      Скачать/Купить дополнение


      Экспорт товаров в Instagram
      Модуль автоматически добавляет товар в профиль Instagram.
       
      У модуля есть две версии: Lite и Pro
       
      Lite версия включает в себя:
      Возможность добавить 1 профиль Выгрузка только основной фотографии товара Использовать шаблон описания побликации Возможность выбрать язык и валюту в описании В шаблоне доступны основные параметры товара Добавить дополнительные теги в описание Вставлять короткие ссылки или использовать ЧПУ сайта Качество сжатия и фон заливки изображений Публикация товаров магазина Использование Proxy  
      Pro версия позволяет:
      Все возможности Lite версии Нет ограничения по созданию профилей Возможность настроить для каждого магазина свой шаблон описания К публикуемому товару возможно добавить местоположение (полезно для продвижения) Нет ограничения по фотографиям в одном товаре (создается альбом) Если нужно добавить водяной знак, задать ему размер, прозрачность или позицию - то такие функции тоже есть Возможность создавать любой пост из модуля не создавая товар на сайте При создании поста, через ручную публикацию, возможно также добавить местоположение к посту Во время ручной публикации, можно использовать настройки изображений основного магазина Можно публиковать товары "пачкой" со всеми возможностями модуля Доступные режимы: "Публикация", "Обновление", "Поднять в топ", "Удаление" Возможность отложенной публикации товаров через задания Cron При создании задания, доступно множество настроек (сортировка, фильтр, режимы, отчеты на почту) Задания защищены собственным токеном, поэтому не зная его, невозможно запустить задание удаленно Возможность группировать товары и добавлять группе обложку  
      Для всех без ограничений, доступны такие функции, как:
      Уменьшать картинки, если их размеры превышают 1080x1080 (по требованию instagram) Кадрировать картинки в квадратные Подгонять соотношение сторон под требования instagram, для вертикальных 4:5, для горизонтальных 1:1,9 Обрезать описание (максимум 2200 символов) Возможность всегда быть в курсе всех обновлений и первым их установить  
      Используя шаблон описания, Вы можете указывать информацию о товаре, такую как: наименование, описание, модель, цену, скидку, производителя, атрибуты, опции, теги, мета-описание, мета-заголовок, статус наличия на складе и ссылку на товар.
       
      В модуле присутствует возможность "Ручной публикации", вам не нужно создавать новый товар, чтобы добавить пост в один или несколько профилей Instagram.
       
      Задание Cron - позваляет делать отложенную публикацию в профиль instagram по заданному времени. Настраивается в 2 шага: На стороне сайта и на стороне хостинга (рекомендуется обратиться за помощью к менеджеру, т.к. на некоторых хостингах настройки могут отличаться).
       
      Только для Pro версии, при работе с профилями, доступно несколько режимов:
      Обновлять публикации (если сменилось описание или цена) Поднять товар в топ ленты (сбрасывается прогресс публикации) Удалять посты, если в них нет необходимости  
      Таким образом, возможно следить за лентой и оставлять её всегда актуальной
       
      Установка модуля выполняется через "Установщик дополнений OCMOD", для версии OC 1.5 необходимо распаковать архив и загрузить содержимое из папки upload на сервер
       
      Демо сайт: http://oc2.1.artapi.tk
      Логин и пароль: demo/demo
       
      Модуль работает с библиотекой CURL. В большинстве случаев, на современных хостингах эта библиотека уже установлена.
      Для защиты данных используется шифрование, и для работы модуля необходимо наличие на хостинге библиотеки Ioncube Loader
      Для младших версий, 1.5, не требуется установка vQmode
       
      В скором времени планирую начать следующее обновление, в котором станет доступно продвижение любого профиля (который подключен к модулю), вне зависимости от его статуса в Instagram, т.е. профиль не обязательно должен быть "Бизнес". Какой будет функционал, на данный момент сказать не могу, но планы такие, как были у Наполеона )))
       
      Если есть желание расширить модуль или сделать отдельный пишите в комментариях )))
       
      P.S. Перед тем как задать мне вопрос, просьба увидеть демо и прочитать страничку с наиболее частыми вопросами
       
      Большая просьба, перед тем как покупать модуль, убедитесь что ваш профиль не заблокирован, проверить можно на странице с вопросами
      Добавил 23keks23 Добавлено 19.03.2018 Категория Социальные сети Системные требования Ioncube Loader, cUrl, vQmod для версии 1.5.6 и ниже Сайт разработчика http://artapi.tk Старая цена Метод активации По запросу в ЛС
      По запросу на почту
      По емейлу Ioncube Loader Требуется OpenCart 3.0
      2.3
      2.2
      2.1
      2.0
      1.5.6.4
      1.5.6.3
      1.5.6.2
      1.5.6.1
      1.5.6
      1.5.5.1
      1.5.5
      1.5.4.1
      1.5.3.1 ocStore 3.0
      2.3
      2.2
      2.1
      1.5.5.1.2
      1.5.5.1.1
      1.5.5.1
      1.5.4.1.2
      1.5.4.1.1
      1.5.4.1
      1.5.3.1
      1.5.2.1
      1.5.1.3 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х
      OcShop 1.5.6.4.х  
    • От 23keks23
      Модуль автоматически добавляет товар в профиль Instagram.
       
      У модуля есть две версии: Lite и Pro
       
      Lite версия включает в себя:
      Возможность добавить 1 профиль Выгрузка только основной фотографии товара Использовать шаблон описания побликации Возможность выбрать язык и валюту в описании В шаблоне доступны основные параметры товара Добавить дополнительные теги в описание Вставлять короткие ссылки или использовать ЧПУ сайта Качество сжатия и фон заливки изображений Публикация товаров магазина Использование Proxy  
      Pro версия позволяет:
      Все возможности Lite версии Нет ограничения по созданию профилей Возможность настроить для каждого магазина свой шаблон описания К публикуемому товару возможно добавить местоположение (полезно для продвижения) Нет ограничения по фотографиям в одном товаре (создается альбом) Если нужно добавить водяной знак, задать ему размер, прозрачность или позицию - то такие функции тоже есть Возможность создавать любой пост из модуля не создавая товар на сайте При создании поста, через ручную публикацию, возможно также добавить местоположение к посту Во время ручной публикации, можно использовать настройки изображений основного магазина Можно публиковать товары "пачкой" со всеми возможностями модуля Доступные режимы: "Публикация", "Обновление", "Поднять в топ", "Удаление" Возможность отложенной публикации товаров через задания Cron При создании задания, доступно множество настроек (сортировка, фильтр, режимы, отчеты на почту) Задания защищены собственным токеном, поэтому не зная его, невозможно запустить задание удаленно Возможность группировать товары и добавлять группе обложку  
      Для всех без ограничений, доступны такие функции, как:
      Уменьшать картинки, если их размеры превышают 1080x1080 (по требованию instagram) Кадрировать картинки в квадратные Подгонять соотношение сторон под требования instagram, для вертикальных 4:5, для горизонтальных 1:1,9 Обрезать описание (максимум 2200 символов) Возможность всегда быть в курсе всех обновлений и первым их установить  
      Используя шаблон описания, Вы можете указывать информацию о товаре, такую как: наименование, описание, модель, цену, скидку, производителя, атрибуты, опции, теги, мета-описание, мета-заголовок, статус наличия на складе и ссылку на товар.
       
      В модуле присутствует возможность "Ручной публикации", вам не нужно создавать новый товар, чтобы добавить пост в один или несколько профилей Instagram.
       
      Задание Cron - позваляет делать отложенную публикацию в профиль instagram по заданному времени. Настраивается в 2 шага: На стороне сайта и на стороне хостинга (рекомендуется обратиться за помощью к менеджеру, т.к. на некоторых хостингах настройки могут отличаться).
       
      Только для Pro версии, при работе с профилями, доступно несколько режимов:
      Обновлять публикации (если сменилось описание или цена) Поднять товар в топ ленты (сбрасывается прогресс публикации) Удалять посты, если в них нет необходимости  
      Таким образом, возможно следить за лентой и оставлять её всегда актуальной
       
      Установка модуля выполняется через "Установщик дополнений OCMOD", для версии OC 1.5 необходимо распаковать архив и загрузить содержимое из папки upload на сервер
       
      Демо сайт: http://oc2.1.artapi.tk
      Логин и пароль: demo/demo
       
      Модуль работает с библиотекой CURL. В большинстве случаев, на современных хостингах эта библиотека уже установлена.
      Для защиты данных используется шифрование, и для работы модуля необходимо наличие на хостинге библиотеки Ioncube Loader
      Для младших версий, 1.5, не требуется установка vQmode
       
      В скором времени планирую начать следующее обновление, в котором станет доступно продвижение любого профиля (который подключен к модулю), вне зависимости от его статуса в Instagram, т.е. профиль не обязательно должен быть "Бизнес". Какой будет функционал, на данный момент сказать не могу, но планы такие, как были у Наполеона )))
       
      Если есть желание расширить модуль или сделать отдельный пишите в комментариях )))
       
      P.S. Перед тем как задать мне вопрос, просьба увидеть демо и прочитать страничку с наиболее частыми вопросами
       
      Большая просьба, перед тем как покупать модуль, убедитесь что ваш профиль не заблокирован, проверить можно на странице с вопросами
    • От matroskin92
      Простое решение для вывода ранее просмотренных товаров непосредственно на странице товара, без дополнительных настроек и в любом месте Вашего шаблона (Демо).
      Для того, чтобы увидеть результат, пройдитесь по нескольким товарам. 
       
       
       
      УСТАНОВКА
      Для установки модуля - загрузите файл в установщик и обновите кэш модификаторов и сайта.
      Для отображения модуля на странице товара добавьте код
      {{ matrosite_looked }} в нужной части файла product/product.twig
       
       
       
      ПОДДЕРЖКА
      Поддержка в личных сообщениях.
       
      ДРУГИЕ ВЕРСИИ OPENCART
      Вероятно, это бессмысленно, но если кому-то нужно, то без проблем.
    • От spectre
      300.00 руб
      Скачать/Купить дополнение


      SP Скидка на каждый N товар 2.x - 3.x
      ЧЕРНАЯ ПЯТНИЦА! ВСЕ ДОПОЛНЕНИЯ ПО 300!
       
      Версия под 2.х и 3.x
      Адаптация под любую версию линейки 2.x-3.x - бесплатная и быстрая
       
       
      Модуль позволяет делать скидку в процентах или фиксированную скидку на каждый N товар
       
      Варианты применения:
       
      каждый третий (пятый, десятый) товар со скидкой в % либо фиксированной скидкой N денег, настраивается в админке
       
       
       
       
       
      То есть если в настройках модуля стоит тип скидки в процентах, каждый третий товар скидка 50%, а в корзине 8 товаров, то скидка идет на 2 самых дешевых товара
       
      Если стоит фиксированная скидка при таких же условиях получим 2 товара с фиксированной скидкой
       
      Какие-то вопросы? Пишите в личку, разберемся
       
       
      АКЦИЯ!
      ПРИ ПОКУПКЕ ЛЮБЫХ 2х МОДУЛЕЙ - ТРЕТИЙ В ПОДАРОК!
       
      Как получить - купить 2 модуля и написать в ЛС
      Поддержка на 3й - только на этапе установки. Модуль предоставляется только под вашу версию ОС
       
      АКЦИЯ РАБОТАЕТ С 26.12.2018 до XX.XX.XXXX
       
      Добавил spectre Добавлено 09.04.2018 Категория Цены, скидки, акции, подарки Системные требования Сайт разработчика Старая цена 666 Метод активации Без активации Ioncube Loader Нет OpenCart 2.3
      2.1 ocStore 2.3
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1  
  • Последние посетители   0 пользователей онлайн

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

×

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

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