Jump to content

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


Go to solution Solved by Noxter,

Recommended Posts

вы чем вообще читаете???
я подцепил скрипт к карточке товара!!! не работает ни черта!! делал все строго по инструкции в текстовом файле!!

Link to post
Share on other sites
  • Replies 306
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

Kosjak76 у меня даже на последней симпле все норм работает, правда html код немного под себя переделал, а в товарах только сам рейтинг с цифрой вывел, и все норм.

Link to post
Share on other sites
  • 2 months later...
  • 4 weeks later...

А в товарах и не должно работать, скрипт работает только на странице товара.

 

Lol, я исправил две строчки:

 

Добавил выборку rating и votes в функцию public function get_products($filter = array()) из Products.php

 

И заменил привязку JS на

 

{literal}
<script type="text/javascript">
	$(function() {
		$('#{/literal}product_{$product->id}{literal}').rater({ postHref: 'ajax/rating.php' }); 
	});
</script>
{/literal}

 

И заработал в товарах ваш же скрипт  :)

Link to post
Share on other sites

Lol, я исправил две строчки:

 

Добавил выборку rating и votes в функцию public function get_products($filter = array()) из Products.php

 

И заменил привязку JS на

 

{literal}
<script type="text/javascript">
	$(function() {
		$('#{/literal}product_{$product->id}{literal}').rater({ postHref: 'ajax/rating.php' }); 
	});
</script>
{/literal}

 

И заработал в товарах ваш же скрипт  :)

Ну молодец! Я и не писал что это сложно  :P

Link to post
Share on other sites

Lol, я исправил две строчки:

 

Добавил выборку rating и votes в функцию public function get_products($filter = array()) из Products.php

 

И заменил привязку JS на

 

{literal}
<script type="text/javascript">
	$(function() {
		$('#{/literal}product_{$product->id}{literal}').rater({ postHref: 'ajax/rating.php' }); 
	});
</script>
{/literal}

 

И заработал в товарах ваш же скрипт  :)

 

можно поподробнее пожалуйста, для дизайнеров...  :rolleyes:

Link to post
Share on other sites

Кстати, вот симпатичные звездочки... только они, возможно, "проприетарные"

http://www.pztiv.ru/js/rating/images/stars.png

Ну, если подробнее,

 

1) api/Products.php на строке 113 добавляем p.rating и p.votes, так же, как и в инструкции описано.

 

2) в design/ваша тема/html/products.tpl
 

"примерно на строку 95" добавляем код из инструкции, но только вместо 

 

{literal}
<script src="design/{$settings->theme}/js/project.js"></script>
<script type="text/javascript">
	$(function() {
		$('.testRater').rater({ postHref: 'ajax/rating.php' }); 
	});
</script>
{/literal}

там

 

{literal}
<script type="text/javascript">
	$(function() {
		$('#{/literal}product_{$product->id}{literal}').rater({ postHref: 'ajax/rating.php' }); 
	});
</script>
{/literal}

а строчку 

{literal}<script src="design/{/literal}{$settings->theme|escape}{literal}/js/project.js"></script>{/literal}

мы размещаем чуть выше, например, на строке 79, дабы файл только один раз подключился

Link to post
Share on other sites
  • 1 month later...

Даня, не пишите БОЛЬШИМИ БУКВАМИ - Ваш запрос итак увидят.

В файле api/Products.php находим метод duplicate_product и после $product->created = null; вставляем

$product->rates= 0;$product->votes= 0;
Link to post
Share on other sites
  • 2 weeks later...

Вот запросы для автоматического рандомного заполнения всего магазина рейтингом, у меня в магазине 10+ тыс. товаров и пока наберётся хоть какое-то кол-во голосов выглядит этот рейтинг не очень, поэтому вот, держите

UPDATE `s_products` SET `rating` = 4.1+RAND()*0.9;
UPDATE `s_products` SET `votes` = FLOOR(17+RAND()*93);

В первом запросе 4.1 минимальный рейтинг и 0.9 в каком диапазоне рандомно проставлять числа, получается 4.1-5.0

Во втором запросе 17 и 93 это минимум и в каком диапазоне прибавлять числа, максимум 120

Link to post
Share on other sites
  • 4 weeks later...

реализация сортировки по рейтингу:

 

в файле api/products.php находим код:

 

if(!empty($filter['sort']))
switch ($filter['sort'])
{
case 'position':
$order = 'p.position DESC';
break;
case 'name':
$order = 'p.name';
break;


Вставляем:
case 'rating':
$order = 'p.rating DESC';
break;


Затем в в products.tpl добавляем строку с рейтингом

<div class="sort">
    Сортировать по
    <a {if $sort=='position'} class="selected"{/if} href="{url sort=position page=null}">умолчанию</a>
    <a {if $sort=='price'} class="selected"{/if} href="{url sort=price page=null}">цене</a>
    <a {if $sort=='rating'} class="selected"{/if} href="{url sort=rating page=null}">рейтингу</a>
<a {if $sort=='name'} class="selected"{/if} href="{url sort=name page=null}">названию</a>
</div>
 
Link to post
Share on other sites

Почему не работают звездочки??

Я в product  вставид 

 


{* Страница статей *}
      <!-- Ретинг -->
<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) -->
<h1 data-product="{$product->id}">{$product->name|escape}</h1>


<div class="product">
    <!-- Описание Статьи -->
    <div class="description">
 

 

 
 
 
 
в папке js
создал  ajax-rater.js
 
в css в  style.css
добавил стили
 
и в index.tpl

 

<script type="text/javascript" src="design/{$settings->theme|escape}/js/ajax-rater.js"></script>  
 

 

а в итоге на странице
 
звездочки даже не дергаются но появились!!

 0.0 (голосов 0)
 
ах да и в images добавил картинку и в пути к картинке добавид " " их там не было!!!
Link to post
Share on other sites
  • 2 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...