Перейти к содержимому


Фото
* * * * - 17 голосов

Звёздный рейтинг


Best Answer Noxter , 15.02.2012 - 07:52

Вот мой вариант реализации рейтинга:
http://narod.ru/disk...rating.rar.html
http://www.mediafire...fv4ke1nipdkut46 Перейти к посту


  • Чтобы отвечать, сперва войдите на форум
306 ответов в теме

#1 osben

osben
  • Фрилансер
  • 774 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:UA, RU

Опубликовано 22.01.2012 - 12:54

http://upload.com.ua...046009/создание rating.rar

Спасибо за внимание! Кто хочет отблагодарить, пишем ICQ 333-727-2-два-8 или skype: dzeka12



#2 nwnet

nwnet
  • Пользователь
  • 328 сообщений

Опубликовано 23.01.2012 - 00:59

Кому-нибудь удалось скачать?)



#3 osben

osben
  • Фрилансер
  • 774 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:UA, RU

Опубликовано 23.01.2012 - 01:04

вроде все ок

http://upload.com.ua...ание rating.rar



#4 Noxter

Noxter

    Simpla Developer

  • Фрилансер
  • 5 680 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 23.01.2012 - 08:06

Все тот же рейтинг по статье марта, только реализован на новую версию симплы.



#5 osben

osben
  • Фрилансер
  • 774 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:UA, RU

Опубликовано 23.01.2012 - 09:37

Да



#6 osben

osben
  • Фрилансер
  • 774 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:UA, RU

Опубликовано 23.01.2012 - 09:38

Но можно еще же редактирование в админке сделать, сортировку и т.д. ;)



#7 Noxter

Noxter

    Simpla Developer

  • Фрилансер
  • 5 680 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 23.01.2012 - 10:49

Я этот рейтинг немного подмарофетил и вышла конфетка=)
Также добавил сортировку товаров по рейтингу.



#8 Kpoxa

Kpoxa
  • Пользователь
  • 639 сообщений
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 23.01.2012 - 11:15

ну так бы и выложил решение :)



#9 Noxter

Noxter

    Simpla Developer

  • Фрилансер
  • 5 680 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 23.01.2012 - 12:52

product.tpl

<!-- Ретинг -->
<div class="testRater" id="product_{$product->id}">
<div class="statVal">
<span class="rater">
<span class="rater-starsOff" style="width:160px;"><span class="rater-starsOn" style="width:{$product->rating*160/5|string_format:"%.0f"}px"></span></span>
<span class="test-text">
<span class="rater-rating">{$product->rating|string_format:"%.1f"}</span>&#160;(голосов <span class="rater-rateCount">{$product->votes|string_format:"%.0f"}</span>)
</span>
</span>
</div>
</div>
<!-- Рейтинг (The End) -->

ajax-rater.js

$.fn.rater = function (options) {
var opts = $.extend({}, $.fn.rater.defaults, options);
return this.each(function () {
var $this = $(this);
var $on = $this.find('.rater-starsOn');
var $off = $this.find('.rater-starsOff');
opts.size = $on.height();
if (opts.rating == undefined) opts.rating = $on.width() / opts.size;
if (opts.id == undefined) opts.id = $this.attr('id');

$off.mousemove(function (e) {
var left = e.clientX - $off.offset().left;
var width = $off.width() - ($off.width() - left);
width = Math.ceil(width / (opts.size / opts.step)) * opts.size / opts.step;
$on.width(width);
}).hover(function (e) { $on.addClass('rater-starsHover'); }, function (e) {
$on.removeClass('rater-starsHover'); $on.width(opts.rating * opts.size);
}).click(function (e) {
var r = Math.round($on.width() / $off.width() * (opts.units * opts.step)) / opts.step;
$off.unbind('click').unbind('mousemove').unbind('mouseenter').unbind('mouseleave');
$off.css('cursor', 'default'); $on.css('cursor', 'default');
$.fn.rater.rate($this, opts, r);
}).css('cursor', 'pointer'); $on.css('cursor', 'pointer');
});
};

$.fn.rater.defaults = {
postHref: location.href,
units: 5,
step: 1
};

$.fn.rater.rate = function ($this, opts, rating) {
var $on = $this.find('.rater-starsOn');
var $off = $this.find('.rater-starsOff');
$off.fadeTo(600, 0.4, function () {
$.ajax({
url: opts.postHref,
type: "POST",
data: 'id=' + opts.id + '&rating=' + rating,
complete: function (req) {
if (req.status == 200) { //success
opts.rating = parseFloat(req.responseText);

if (opts.rating > 0) {
opts.rating = parseFloat(req.responseText);
$off.fadeTo(200, 0.1, function () {
$on.removeClass('rater-starsHover').width(opts.rating * opts.size);
var $count = $this.find('.rater-rateCount');
$count.text(parseInt($count.text()) + 1);
$this.find('.rater-rating').text(opts.rating.toFixed(1));
$off.fadeTo(200, 1);
});
//alert('Спасибо! Ваш голос учтен.');
}
else
if (opts.rating == -1) {
$off.fadeTo(200, 0.6, function () {
$this.find('.test-text').text('Вы уже голосовали!');
});
//alert('Вы уже голосовали за данный товар!');
}
else {
$off.fadeTo(200, 0.6, function () {
$this.find('.test-text').text('Вы уже голосовали!');
});
//alert('Вы уже голосовали за данный товар!');
}
} else { //failure
alert(req.responseText);
$on.removeClass('rater-starsHover').width(opts.rating * opts.size);
$this.rater(opts);
$off.fadeTo(2200, 1);
}
}
});
});
};

стили

.testRater{margin-bottom:20px;}
.rater span {vertical-align:middle;font-size:16px;}
.rater-rating {margin-top:5px;}
.rater-starsOff, .rater-starsOn {display:inline-block; height:32px; background:url(../images/stars.gif) repeat-x 0 0px;}
.rater-starsOn {display:block; max-width:160px; top:0; background-position: 0 -32px;}
.rater-starsHover {background-position: 0 -64px!important;}

Сама картинка
http://i.piccy.info/...14500/stars.gif

Выглядит кошерно http://kiev-mod.ho.u...ung_s7070_diva/



#10 Kpoxa

Kpoxa
  • Пользователь
  • 639 сообщений
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 23.01.2012 - 13:15

действительно рейтинг красиво смотрится.



#11 arsko

arsko
  • Пользователь
  • 265 сообщений

Опубликовано 23.01.2012 - 16:50

Тока на моем сайте показывается вместо 5 звезд 10, а так прикольно! Все работает =)



#12 Noxter

Noxter

    Simpla Developer

  • Фрилансер
  • 5 680 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 23.01.2012 - 16:54

Замените 160px на 80px в стилях или просто замените картинку, можете взять мою
http://i.piccy.info/...14500/stars.gif



#13 Noxter

Noxter

    Simpla Developer

  • Фрилансер
  • 5 680 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 23.01.2012 - 17:19

Добавил опрос на сайте: http://kiev-mod.ho.ua/brands/nikon



#14 arsko

arsko
  • Пользователь
  • 265 сообщений

Опубликовано 23.01.2012 - 21:21

По вашей рекомендации все сделал, работает как часы =)

Спасибо большое!



#15 Kosjak76

Kosjak76
  • Модератор
  • 3 563 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Харьков, Украина

Опубликовано 01.02.2012 - 13:26

osben, Noxter мне вот интересно, хоть кто-нибудь вас отблагодарил??
Сам то я давно это сделал (рейтинг), с голосованием из списка и сортировкой по рейтингу, просто интересно...



#16 div

div
  • Пользователь
  • 35 сообщений

Опубликовано 01.02.2012 - 14:11

классно сделал .. красиво зашаблонил .. Noxter молодец



#17 mart

mart

    Дружу с Симплой

  • Фрилансер
  • 1 331 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:Venlo

Опубликовано 02.02.2012 - 14:14

Очень-очень редко случаются благодарности...



#18 Noxter

Noxter

    Simpla Developer

  • Фрилансер
  • 5 680 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 02.02.2012 - 16:30

Март ты придумал рейтинг, osben перенес на вторую симплу, а я красиво оформил и подправил яваскрипт чтобы не выскакивал дурноватый alert который пугает покупателей.
Марту от меня большое спасибо!



#19 zhenyaweb

zhenyaweb
  • Пользователь
  • 6 сообщений

Опубликовано 03.02.2012 - 00:59

http://upload.com.ua...ание rating.rar

ссылка не работает,
пожалуйста перезалейте архив



#20 Noxter

Noxter

    Simpla Developer

  • Фрилансер
  • 5 680 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 06.02.2012 - 05:48

Перезалейте архив плз!






0 пользователей читают эту тему

0 пользователей, 0 гостей, 0 скрытых