Loading

Изменяем длину описаний товаров в каталоге OpenCart 1.5.x

Изменяем длину описаний товаров в каталоге OpenCart 1.5.x
Это решение также убирает «черные ромбики» и иероглифы в конце русских описаний товаров в каталоге. В других местах делается аналогично.
Многие сталкивались с проблемой «урезанных» описаний, которые выводятся при просмотре каталога магазина. Даже в обычном дизайне OpenCart v1.5 там могло бы поместиться ещё 2-3 таких же строки с весьма полезной информацией как для покупателя, так и для поисковых систем. Впрочем, и для внешнего вида стандартного шаблона польза немалая.
После модификации очень выиграет пользователь Вашего сайта: уменьшается необходимость открывать каждый товар, а у владельцев магазина появляется возможность вынести в начало описания самую важную информацию и дать покупателю удобный способ просмотра основных характеристик похожих товаров уже на этапе ознакомления с ассортиментом, при навигации.
Чтобы увеличить длину описаний товаров на страницах каталога, необходимо:
Находим и открываем файл

catalog/controller/product/category.php

найти поиском строку «substr» (она там одна, OpenCart v1.5.0.5 — 1.5.1.1). Вы увидите небольшой блок из десятка строчек, который начинается с $this->data['products'][] = array (. Перед этой строчкой вставляем 6 строк:

$cut_descr_symbols = 400;
$descr_plaintext = strip_tags (html_entity_decode ($result['description'],
ENT_QUOTES, 'UTF-8'));
if ( mb_strlen ($descr_plaintext, 'UTF-8') > $cut_descr_symbols )
{
$descr_plaintext = mb_substr ($descr_plaintext, 0,
$cut_descr_symbols, 'UTF-8') . ' …';
}

Найденную строку 'description' => ... заменяем на 'description' => $descr_plaintext,
В результате должно получиться:

$cut_descr_symbols = 400;
$descr_plaintext = strip_tags (html_entity_decode ($result['description'],
ENT_QUOTES, 'UTF-8'));
if ( mb_strlen ($descr_plaintext, 'UTF-8') > $cut_descr_symbols )
{
$descr_plaintext = mb_substr ($descr_plaintext, 0,
$cut_descr_symbols, 'UTF-8') . ' …';
}
$this->data['products'][] = array (
'product_id' => $result['product_id'],
'thumb' => $image,
'name' => $result['name'],
'description' => $descr_plaintext,
'price' => $price,
'special' => $special,
'tax' => $tax,
'rating' => $result['rating'],
'reviews' => sprintf ($this->language->get ('text_reviews'),
(int)$result['reviews']),
'href' => $this->url->link ('product/product', 'path='
. $this->request->get['path']
. '&product_id=' . $result['product_id'])
);

Длина описания задается переменной $cut_descr_symbols. В зависимости от дизайна вам может потребоваться изменить эту величину.

Вот что выходит после модификации файла:
Изменяем длину описаний товаров в каталоге OpenCart 1.5.x

Что было исправлено:

До модификации строки укорачивались до 100 символов. Описания длиной 300-500 символов выглядят гораздо лучше;
символы «...» добавлялись даже к полностью поместившимся описаниям: сейчас символ заменён на HTML-ное троеточие и добавляется только к обрезанным описаниям;
ну и mbstring, разумеется. Про которую англоязычные авторы часто забывают.
Аналогичным образом стоит сразу же изменить файлы:

catalog/controller/product/search.php
catalog/controller/product/special.php
catalog/controller/product/compare.php
catalog/controller/product/manufacturer.php

То есть найти похожие места (например, по строке «substr») и внести аналогичные изменения.

Модуль для изменения длинны описаний товаров для VQmod / Opencart 1.5.1.3.1

— исправлено на странице: категорий, поиска, спец.товаров, странице сравнения товаров, производителей
[download id="123"]

Отправить ответ

Оставьте первый комментарий!

Войти с помощью: 
  Subscribe  
Notify of
Авторизация
*
*
Войти с помощью: 
Регистрация
*
*
*
Войти с помощью: 
Генерация пароля