osben Posted January 22, 2012 Report Share Posted January 22, 2012 http://upload.com.ua/get/903046009/создание rating.rarСпасибо за внимание! Кто хочет отблагодарить, пишем ICQ 333-727-2-два-8 или skype: dzeka12 Quote Link to post Share on other sites
nwnet Posted January 22, 2012 Report Share Posted January 22, 2012 Кому-нибудь удалось скачать?) Quote Link to post Share on other sites
osben Posted January 22, 2012 Author Report Share Posted January 22, 2012 вроде все окhttp://upload.com.ua/get/903046009/%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20rating.rar Quote Link to post Share on other sites
Noxter Posted January 23, 2012 Report Share Posted January 23, 2012 Все тот же рейтинг по статье марта, только реализован на новую версию симплы. Quote Link to post Share on other sites
osben Posted January 23, 2012 Author Report Share Posted January 23, 2012 Да Quote Link to post Share on other sites
osben Posted January 23, 2012 Author Report Share Posted January 23, 2012 Но можно еще же редактирование в админке сделать, сортировку и т.д. Quote Link to post Share on other sites
Noxter Posted January 23, 2012 Report Share Posted January 23, 2012 Я этот рейтинг немного подмарофетил и вышла конфетка=)Также добавил сортировку товаров по рейтингу. Quote Link to post Share on other sites
Kpoxa Posted January 23, 2012 Report Share Posted January 23, 2012 ну так бы и выложил решение Quote Link to post Share on other sites
Noxter Posted January 23, 2012 Report Share Posted January 23, 2012 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> (голосов <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/i7/d85050344b9d7acbb96e7da1ed8a9cd8/1-5-3951/3814500/stars.gifВыглядит кошерно http://kiev-mod.ho.ua/products/samsung_s7070_diva/ Quote Link to post Share on other sites
Kpoxa Posted January 23, 2012 Report Share Posted January 23, 2012 действительно рейтинг красиво смотрится. Quote Link to post Share on other sites
arsko Posted January 23, 2012 Report Share Posted January 23, 2012 Тока на моем сайте показывается вместо 5 звезд 10, а так прикольно! Все работает =) Quote Link to post Share on other sites
Noxter Posted January 23, 2012 Report Share Posted January 23, 2012 Замените 160px на 80px в стилях или просто замените картинку, можете взять моюhttp://i.piccy.info/i7/d85050344b9d7acbb96e7da1ed8a9cd8/1-5-3951/3814500/stars.gif Quote Link to post Share on other sites
Noxter Posted January 23, 2012 Report Share Posted January 23, 2012 Добавил опрос на сайте: http://kiev-mod.ho.ua/brands/nikon Quote Link to post Share on other sites
arsko Posted January 23, 2012 Report Share Posted January 23, 2012 По вашей рекомендации все сделал, работает как часы =)Спасибо большое! Quote Link to post Share on other sites
Kosjak76 Posted February 1, 2012 Report Share Posted February 1, 2012 osben, Noxter мне вот интересно, хоть кто-нибудь вас отблагодарил??Сам то я давно это сделал (рейтинг), с голосованием из списка и сортировкой по рейтингу, просто интересно... Quote Link to post Share on other sites
div Posted February 1, 2012 Report Share Posted February 1, 2012 классно сделал .. красиво зашаблонил .. Noxter молодец Quote Link to post Share on other sites
mart Posted February 2, 2012 Report Share Posted February 2, 2012 Очень-очень редко случаются благодарности... Quote Link to post Share on other sites
Noxter Posted February 2, 2012 Report Share Posted February 2, 2012 Март ты придумал рейтинг, osben перенес на вторую симплу, а я красиво оформил и подправил яваскрипт чтобы не выскакивал дурноватый alert который пугает покупателей.Марту от меня большое спасибо! Quote Link to post Share on other sites
zhenyaweb Posted February 2, 2012 Report Share Posted February 2, 2012 http://upload.com.ua/get/903046009/%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20rating.rarссылка не работает,пожалуйста перезалейте архив Quote Link to post Share on other sites
Noxter Posted February 6, 2012 Report Share Posted February 6, 2012 Перезалейте архив плз! Quote Link to post Share on other sites
termint Posted February 6, 2012 Report Share Posted February 6, 2012 Залейте на другой обменник. upload уже не пашет. Quote Link to post Share on other sites
misterk Posted February 9, 2012 Report Share Posted February 9, 2012 Просьба перезалить на другой обменник!! Quote Link to post Share on other sites
misterk Posted February 9, 2012 Report Share Posted February 9, 2012 Кто нить откликнитесь пожалуйста....Перезалейте или бросьте на почту...(в профиле) Quote Link to post Share on other sites
Solution Noxter Posted February 15, 2012 Solution Report Share Posted February 15, 2012 Вот мой вариант реализации рейтинга: http://narod.ru/disk/40815815001/simplacms2_ajax_star_rating.rar.html http://www.mediafire.com/?fv4ke1nipdkut46 Quote Link to post Share on other sites
misterk Posted February 15, 2012 Report Share Posted February 15, 2012 Noxter спасибо!!! Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.