"Звездный рейтинг" для Simpla 2.1+
Для начала забираем архив с файлами. Распаковываем его в корень нашего сайта. В нем содержится 3 файла:
- картинка "звездочки" design/default/images/rating.jpg
- файла для отработки AJAX-запроса выставления рейтинга ajax/rating.php
- скрипт на JQuery для выставления рейтинга товарам design/default/js/jquery.rater.js
Теперь добавим поля в нашу таблицу товаров s_products для хранения данных по рейтингу - выполним SQL-запрос
ALTER TABLE `s_products` ADD `rating` FLOAT( 3, 2 ) NOT NULL DEFAULT '0' AFTER `featured` , ADD `votes` INT NOT NULL DEFAULT '0' AFTER `rating`
Добавляем эти 2 поля в выборку товаров. В файле api/Products.php в метод после 117 строки добавляем в методе get_products наши поля. Получится примерно следующее
p.featured, p.rating, p.votes,
Далее в этом же файле в методе get_product добавляем эти же поля (~236 строка) - результат
p.featured, p.rating, p.votes,
Следующим шагом добавляем данные по стилям для модуля рейтинга. Для этого в конец нашего файла стилей design/[ваш_шаблон]/css/style.css (возможно Ваш файл стилей будет иметь другой путь, но если Вы смогли уйти от стандартного шаблона, то Вы найдете куда поставить наш код :) )
.rating .rater-starsOff, .rating .rater-starsOn { width: 80px; display: inline-block; background:url(../images/rating.jpg) repeat-x 0 0px; height:16px; } .rating .rater-starsOn { background-position: 0 -16px; }
Подключаем JS-скрипт рейтинга в файле design/[ваш_шаблон]/html/index.tpl в блок head после корзины - результат
<script src="design/{$settings->theme}/js/ajax_cart.js"></script> <script src="design/{$settings->theme}/js/jquery.rater.js"></script>
Теперь формируем вывод рейтинга в списке товаров и карточке.
В файлах design/[ваш_шаблон]/html/main.tpl и design/[ваш_шаблон]/html/products.tpl сразу после вывода заголовка товара
<h3 class="{if $product->featured}featured{/if}"><a data-product="{$product->id}" href="products/{$product->url}">{$product->name|escape}</a></h3>
и файле design/[ваш_шаблон]/html/product.tpl после
<h1 data-product="{$product->id}">{$product->name|escape}</h1>
вставим код вывода рейтинга
<div class="rating" rel="{$product->id}"> <span class="rater-starsOff"><span style="width:{$product->rating*80/5|string_format:"%.0f"}px" class="rater-starsOn"></span></span> <span class="rater-rating">{$product->rating|string_format:"%.1f"}</span> (<span class="rater-rateCount">{$product->votes|string_format:"%.0f"}</span> {$product->votes|plural:'голос':'голосов':'голоса'}) </div>
Вот в-принципе и все чудеса. Голосовать можно как в товаре, так и в списке, и даже в "просмотренных", если правильно вставить код :) Вы можете экспериментировать с рейтингом - поменяв 5 звед на 8 или 10. Или же измение размер звезд или форму :) . Вывод тоже можете менять как Вам угодно, главное чтобы сохранить конструкцию блока div.rating и в параметре rel передавать ID товара.
Мой результат
Добрый день, в статье "Звездный рейтинг" есть архив с файлами.
Картинка рейтинга находится в папке
\design\default\images в файле rating.jpg
для того, чтобы заменить картинку, необходимо заменить файл.
Добрый день,
Конечно мы поможем в установке данного модуля,для это нам понадобяться доступы ftp к сайту.
Оплату можно произвести следующими способами:
+380635712856 Киви(Для оплаты 700р),
410011405334733 яд(Для оплаты 700р),
4149 4978 4949 2303 Гребенник Александр Алексеевич "Приват Банк"(Для оплаты 250грн).
Ждем Вашего рещения и с удовольствием поможем в решений.
Делала вот верхней инструкции и по этой http://blog.rlstudio.com/2011/02/dorabotki-magazina-simpla-zvezdnyj-rejting/, но звездочки не работают. При наведении реагируют, нажимаются, но не сохраняют рейтинг.
Здравствуйте!
Чтобы воспользоваться доработкой выполните инструкции по нижеприведенной ссылке.
http://simplashop.com/article/zvezdnyj-rejting-dlya-simpla-21
Данная доработка является бесплатной, также мы можем предложить вам установку модуля нашими специалистами, стоимость установки составит 700 руб. или 250 грн.
С уважением, команда simplashop.com
#1064 - у Вас есть ошибка в вашем SQL синтаксиса; проверять вручную, что соответствует вашего MySQL-сервера Версия для права синтаксис для использования рядом с "s_products' добавить 'рейтинг' поплавок (3, 2) не NULL по умолчанию '0' после 'рекомендуемые' Добавить' в строке 1
Буду благодарен за помошь!
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''s_products' ADD 'rating' FLOAT (3, 2) NOT NULL DEFAULT '0' AFTER 'featured' ADD' at line 1
Для начала нужно вставить SQL-запрос в базу данных, а уже после вносить изменения в файлах.
ALTER TABLE `s_products` ADD `rating` FLOAT( 3, 2 ) NOT NULL DEFAULT '0' AFTER `featured` ,
ADD `votes` INT NOT NULL DEFAULT '0' AFTER `rating`
И ти два поля:
p.featured,
p.rating,
p.votes,
---------------------
p.featured,
p.rating,
p.votes,
когда вставляеш, то исчезают вообще все товары с сайта, звезочки есть, но не нажимаются.
Добрый день!
ALTER
TABLE
`s_products`
ADD
`rating`
FLOAT
( 3, 2 )
NOT
NULL
DEFAULT
'0'
AFTER
`featured` ,
ADD
`votes`
INT
NOT
NULL
DEFAULT
'0'
AFTER
`rating`
p.rating,
p.votes
Далее в этом же файле в методе get_product добавляем эти же поля
p.featured,
p.rating,
p.votes,
Если выполнить все согласно инструкции, то проблем с рабой модуля не должно быть. Вы также можете обратиться к нашим специалистам и мы Вам его установим.С уважением, команда Simplashop.com
Здравствуйте!
Доработка очень простая, от версий не зависит. Стоит на версии 2.3.6 http://rating.simplathemes.com/, нужно смотреть код. Присылайте доступы - глянем.
Возможно, есть какой-то способ встроить рейтинг в форму комментариев, как обычно сделано в интернет-магазинах, чтобы пользователи могли оставлять свою оценку вместе с комментарием о товаре?
У нас есть модуль отзывов с рейтингом(http://simplashop.com/products/review_plus), который позволяет оставлять отзывы как к товару или статье в блоге так и к магазину. В каждом отзыве пользователь может поставить оценку (товару, статье или сайту вцелом). так же для каждого отзыва у пользователей есть возможность поставить like/dislike