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

[Доработка] Делаем "правильный" рейтинг


SVLogic

Recommended Posts

Итак, собственно не устроил имеющийся вывод рейтинга. Т.е. если проголосовало 2 человека с оценками 4 и 5, то будет выставлено 4 звезды и отображаться оценка будет как 4, хотя на самом деле оценка 4.5

И так, чтобы во всплывающей подсказке отображалась верная оченка и стояло 4,5 звезды вместо 4 нужно выполнить несложные манипуляции...

Приступим.

Скопировать файл во вложении в директорию

catalog/view/theme/default/image/

открываем файл catalog/model/catalog/review.php

ищем строку 17

return (int)$query->row['total'];
меняем на

return $query->row['total'];

открываем файл catalog/controller/product/product.php

Добавляем после строки

$average = $this->model_catalog_review->getAverageRating($this->request->get['product_id']);
строку

$num_stars = $average * 16;
Ищем строку

$this->data['text_stars'] = sprintf($this->language->get('text_stars'), $average);
меняем на

$this->data['text_stars'] = sprintf($this->language->get('text_stars'), round($average, 1));
ищем строку

$this->data['average'] = $average;
ниже добавляем

$this->data['num_stars'] = $num_stars;

открываем файл catalog/view/theme/default/template/product/product.tpl

ищем строку

<img src="catalog/view/theme/default/image/stars_<?php echo $average . '.png'; ?>" alt="<?php echo $text_stars; ?>" style="margin-top: 2px;" />
меняем на

<div class="desc_rate">    <ul class="rating" title="<?php echo $text_stars; ?>">        <li class="current-rating" style="width:<?php echo $num_stars; ?>px;">    [/list]</div>

открываем файл catalog/view/theme/default/stylesheet/stylesheet.css

в любое место добавляем

.desc_rate { background: url(../image/stars.png) repeat-x; height:16px; width:80px; }.rating { margin:0; padding:0; }.rating li { list-style: none; }.current-rating  { background: url(../image/stars.png) repeat-x left bottom; height:16px; }

открываем catalog/view/theme/default/template/product/category.tpl

ищем

<?php if ($products[$j]['rating']) { ?>                                    <img src="catalog/view/theme/default/image/stars_<?php echo $products[$j]['rating'] . '.png'; ?>" alt="<?php echo $products[$j]['stars']; ?>" />                                <?php } else { ?>
меняем на

<?php if ($products[$j]['rating']) { ?><div class="desc_rate">                                      <ul class="rating" title="<?php echo $products[$j]['stars']; ?>"><li class="current-rating" style="width:<?php echo $products[$j]['num_stars']; ?>px;">[/list]                                  </div><?php } else { ?>
Открываем catalog/controller/product/category.php

ищем

'rating'  => $rating,
ниже добавляем

'num_stars' => $rating * 16,
ищем

'stars'   => sprintf($this->language->get('text_stars'), $rating),
меняем на

'stars'   => sprintf($this->language->get('text_stars'), round($rating, 1)),
Рейтинг для категорий и в подробном чтении информации о товаре поменяли. Мне этого достаточно, поэтому возможно не везде будет теперь работать рейтинг. Кому нужно еще где поменять, делать по аналогии, либо писать сюда, я помогу.

post-335-1293741785,095_thumb.png

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


  • 7 months later...
  • 1 year later...
  • 3 months later...

а есть ли модуль нормального рейтинга товара, чтобы нажал на звездочку и сразу твой голос подсчитало... как пример: http://www.klondayk.com.ua/ru/products/details/motovezdehod_Yamaha_YXR700FA_Rhino__/index.html

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


  • 1 month later...

а есть ли модуль нормального рейтинга...

А что же тут нормального? Любой человек может от фонаря клацать рейтинг.

Как раз нормально, если он ещё обоснует своё мнение в отзыве.

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


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

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

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

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

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

Вхід

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

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

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