[Помогите] Как уменьшить описание товара на странице категории.

Тема в разделе "OpenCart", создана пользователем Voland70, 10 сен 2014.

  1. Voland70

    Voland70

    Регистрация:
    29 июн 2014
    Сообщения:
    74
    Симпатии:
    3
    Как уменьшить описание товара на странице категории.

    Используется шаблон OC Default 2.0. На страницах категорий товаров, отражаются блоки превью товаров, при этом некоторые блоки, с большим описанием выпадают, и всё портится.

    [​IMG]

    Проблемма решается уменьшением размера шрифта на 1px. или уменьшением высоты строки - CSS своиства line-height. Тогда все отображается в порядке, но внешний вид, читабельность и юзабилити сайта ухудшаются.

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

    К сожалению слаб в PHP. Кто знает - подскажите как, и где в OcStore уменьшить количество символов в описаниях товара на странице категории?
     
  2. sonicking

    sonicking

    Регистрация:
    26 май 2013
    Сообщения:
    406
    Симпатии:
    104
    попробуйте в части CSS отвечающей за описание выставить высоту блока
    height: ХХХpx;
    а остальное скрыть
    overflow: hidden;
     
  3. AnOcToJI

    AnOcToJI

    Регистрация:
    28 дек 2012
    Сообщения:
    293
    Симпатии:
    186
    catalog/controller/module/
    вот на такое исправте ваш description
    Код:
    'description' => mb_substr(strip_tags(html_entity_decode($product_info['description'], ENT_QUOTES, 'UTF-8')), 0, 120, 'UTF-8') . '..',
    
    в нужном вам модуле ну или если это не модуль то просто в контролерах найдите

    120 это то сколько символов будет выводиться
     
    Voland70 нравится это.
  4. Voland70

    Voland70

    Регистрация:
    29 июн 2014
    Сообщения:
    74
    Симпатии:
    3
    catalog/controller/module/ - в файлах ничего похожего нет.
    В контролерах в файле catalog/controller/product/category.php нашел, что то похожее:

    $this->data['products'][] = array(
    'product_id' => $result['product_id'],
    'thumb' => $image,
    'name' => $result['name'],
    'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..',
    'price' => $price,
    'special' => $special,
    //Скидки в процентах
    'saving' => round((($result['price'] - $result['special'])/($result['price'] + 0.01))*100, 0),
    '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'] . $url)
    );

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

    description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..',

    "300" - это и есть количество символов.
    Разъясните пожалуйста, это так или нет? Хотелось бы понимать, что делать, а не пользоваться методами перебора и научного тыка...
     
  5. sonicking

    sonicking

    Регистрация:
    26 май 2013
    Сообщения:
    406
    Симпатии:
    104
    попробовать самому изменить 300 на другое (много меньшее, для лучшей видимости) число и понять - то это или нет :biggrin:
     
  6. Voland70

    Voland70

    Регистрация:
    29 июн 2014
    Сообщения:
    74
    Симпатии:
    3
    Благодарю!
    Следуя Вашему совету нашёл ответ. Это действительно в контроллерах catalog/controller/product/category.php

    description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..',