[Помогите] Описание товара в категории

Тема в разделе "OpenCart", создана пользователем v@dim, 25 дек 2012.

  1. v@dim

    v@dim

    Регистрация:
    31 окт 2012
    Сообщения:
    132
    Симпатии:
    21
    Переношу из чата)
    Пользователь Юра интересовался:
    Ответ от Baco
     
  2. SkyLine

    SkyLine

    Регистрация:
    26 сен 2012
    Сообщения:
    341
    Симпатии:
    633
  3. v@dim

    v@dim

    Регистрация:
    31 окт 2012
    Сообщения:
    132
    Симпатии:
    21
    Отлично! Это и обсуждаем!
    Прописываем все как сказал Baco в контролер. И используя егоже переменную форматируем блок с изображением. Вечерком поищу подходящий jquery плагин и попробую реализовать!
    --- добавлено: 25 дек 2012 в 11:52 ---
    Baco. Ну вы написали для обрезания текста? Так? А в массиве обязательно strip_tags? Или достаточно в переменной шаблона- substr ? И объясните пожалуйста для таких как я что означают нули?
    Заранее огромное спасибо!!!
     
  4. Sandu

    Sandu

    Регистрация:
    25 дек 2012
    Сообщения:
    6
    Симпатии:
    0
    в отображение list есть переменная 'description', вот её и используйте (это для версий 1.5)
     
  5. v@dim

    v@dim

    Регистрация:
    31 окт 2012
    Сообщения:
    132
    Симпатии:
    21
    Задача стоит сделать наезжающим на изображение, поэтому и делали с "обрезанием":giggle: . Потому что если описание длинное , то будет непойми что...
     
  6. Baco

    Baco Антихронофаг Команда форума

    Регистрация:
    9 окт 2012
    Сообщения:
    803
    Симпатии:
    399
    Итак... в файл по адресу: \catalog\controller\product\category.php
    вносим изменения следующего характера:
    находим:
    Код:
    $this->data['products'][] = array(
    					'product_id'  => $result['product_id'],
    					'thumb'	  => $image,
    					'name'		=> $result['name'],
    					'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'])
    				);
    и меняет на:
    Код:
    $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, 100) . '..',
    					'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'])
    				);
    далее идём в файл: \catalog\view\theme\default\template\product\category.tpl
    и где то после :
    <div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>
    добавляем: <div class="description"><?php echo $product['description']; ?></div>
    Далее, для добавления описания по хуверу, самому блоку рисанка, дописйваем свойства класса например:
    <div class="image"> в стайлшите :hover
     
    vadik21 нравится это.
  7. SkyLine

    SkyLine

    Регистрация:
    26 сен 2012
    Сообщения:
    341
    Симпатии:
    633
    можно Вас попросить до конца дописать что и куда нужно а то не все могут и я в том числе =))
    --- добавлено: 25 дек 2012 в 15:34 ---
    я кстати поискал на оф. сайте модуль с таким функционалом но не нашел. в идеале я представляю себе модуль после установки которого появляется в товаре дополнительное поле куда можно написать краткое описание которое бы появлялась при наведении мышки на товар в категории.
     
  8. v@dim

    v@dim

    Регистрация:
    31 окт 2012
    Сообщения:
    132
    Симпатии:
    21
    Короче как я и говорил, в контроллере ничего менять не надо, там все как писал Baco по дефолту (opencart 1.5.4.1). Просто форматируем эту чать в tpl как надо
    Код:
    	  <div class="image"><a href="<?php echo $product['href']; ?>"><img src="<?php echo $product['thumb']; ?>" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" /></a></div>
    Я например на скорую руку по этому примеру сделал. просто подставив переменную так:
    Код:
    	  <div class="image">
    	  <span class="new-wrapper">
    	  <a href="<?php echo $product['href']; ?>"><img src="<?php echo $product['thumb']; ?>" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" /></a>
    	  <span><?php echo $product['description']; ?></span>
    	  </span>
    	  </div>
    и css:
    Код:
    .new-wrapper {float: left; width: 80px; height: 80px; margin: 0px 10px 5px 0px;}
    .new-wrapper:hover {opacity: 100; filter: alpha(opacity=100);
    	-webkit-transition: opacity .15s linear;}
    .new-wrapper span { visibility: hidden; }
    .new-wrapper:hover span { visibility: visible; background: #CCC; }
    .new-wrapper { position: relative; }
    .new-wrapper span { position: absolute; top: 0; }
    Все работает, только в нужно подогнать ширину и высоту под размер вашего изображения. Но это простой вариант чисто на css, хотя если нормально оформить будет вполне! Также по аналогии можно сделать и с каким нибудь jquery плагинам.
     
  9. Spartak

    Spartak

    Регистрация:
    23 дек 2012
    Сообщения:
    151
    Симпатии:
    57
    А еще есть вот такое решение
    которое выводит на страницу категории текст из поля для meta description