Рейтинг Товаров
#1
Отправлено 28 Январь 2013 - 15:45
Звездами показывается текущий рейтинг, при клике на ссылку с количеством отзывов страница опускается вниз к отзывам, при клике "написать отзыв" опускается вниз и открывается форма для написания отзыва.
Как это сделать?
#2
Отправлено 28 Январь 2013 - 17:36
После кода:
<!-- В самом конце закрываем обёртку для списка маленьких изображений товара --> {% IF goods_images.last %} </div> {% ENDIF %} {% ENDFOR %}Добавить код:
<table class="otziv"> <!-- Верхняя навигация (Фильтры и страницы) --> <thead> <tr class="goodsDataOpinionListNavigateTop"> <td> <!-- Среднее значение по результатам всех отзывов об этом товаре --> {% IF GOODS_OPINION_RATING_VALUE_ROUND %} <img src="{FORALL_IMAGES_PATH}stars/{GOODS_OPINION_RATING_VALUE_ROUND}.gif" alt="{GOODS_OPINION_RATING_VALUE_ROUND}" class="valignMiddle" style="padding-right:1em;" /> {% ELSE %} <img src="{FORALL_IMAGES_PATH}stars/10.gif" alt="Рейтинг не определён" class="valignMiddle" style="padding-right:1em;" /> {% ENDIF %} <!-- Фильтры отзывов --> </td> <td> <a href="#myotziv">{GOODS_OPINION_RATING_CNT_ALL} Отзыв</a> | </td> <td> <a href="#goodsDataOpinionAdd" class="jsAction goodsDataOpinionShowAddForm AddNewOpinionLinkAfterList">Написать отзыв</a> </td> </td> </thead> </table>
Найти код:
<td colspan="2"> <table class="goodsDataOpinionListTable" itemprop="review"> <tbody> {% FOR opinion_list %}Заменить:
<td colspan="2"> <table class="goodsDataOpinionListTable" id="myotziv" itemprop="review"> <tbody> {% FOR opinion_list %}
#3
Отправлено 28 Январь 2013 - 22:57
#4
Отправлено 29 Январь 2013 - 01:50
<table class="otziv"> <!-- Верхняя навигация (Фильтры и страницы) --> <thead> <tr class="goodsDataOpinionListNavigateTop"> <td> <!-- Среднее значение по результатам всех отзывов об этом товаре --> {% IF GOODS_OPINION_RATING_VALUE_ROUND %} <img src="{FORALL_IMAGES_PATH}stars/{GOODS_OPINION_RATING_VALUE_ROUND}.gif" alt="{GOODS_OPINION_RATING_VALUE_ROUND}" class="valignMiddle" style="padding-right:1em;" /> {% ELSEIF GOODS_OPINION_RATING_CNT_ALL >=1 %} <img id="fullstars" src="{FORALL_IMAGES_PATH}stars/10.gif" alt="Рейтинг не определён" class="valignMiddle" style="padding-right:1em;" /> {% ENDIF %} <!-- Фильтры отзывов --> </td> <td> {% IF GOODS_OPINION_RATING_CNT_ALL>=1%}<a href="#myotziv">{GOODS_OPINION_RATING_CNT_ALL}<a href="#goodsDataOpinionAdd" class="goodsDataOpinionShowAddForm AddNewOpinionLinkAfterList">{%ELSE%}{%ENDIF%} Отзыв</a> | </td> <td> <a href="#goodsDataOpinionAdd" class="jsAction goodsDataOpinionShowAddForm AddNewOpinionLinkAfterList">Написать отзыв</a> </td> </td> </thead> </table>
отобразить 5 не активных звезд в данном случае не получиться, так как подобное целое изображение отсутствует. Вы можете найти необходимое изображение и загрузить его. В данном случае код будет таким
<table class="otziv"> <!-- Верхняя навигация (Фильтры и страницы) --> <thead> <tr class="goodsDataOpinionListNavigateTop"> <td> <!-- Среднее значение по результатам всех отзывов об этом товаре --> {% IF GOODS_OPINION_RATING_VALUE_ROUND %} <img src="{FORALL_IMAGES_PATH}stars/{GOODS_OPINION_RATING_VALUE_ROUND}.gif" alt="{GOODS_OPINION_RATING_VALUE_ROUND}" class="valignMiddle" style="padding-right:1em;" /> {% ELSE %} <img id="fullstars" src="{% IF GOODS_OPINION_RATING_CNT_ALL<1%}Ссылка на изображение{% ELSE %}{FORALL_IMAGES_PATH}stars/10.gif{%ENDIF%}" alt="Рейтинг не определён" class="valignMiddle" style="padding-right:1em;" /> {% ENDIF %} <!-- Фильтры отзывов --> </td> <td> {% IF GOODS_OPINION_RATING_CNT_ALL>=1%}<a href="#myotziv">{GOODS_OPINION_RATING_CNT_ALL}<a href="#goodsDataOpinionAdd" class="goodsDataOpinionShowAddForm AddNewOpinionLinkAfterList">{%ELSE%}{%ENDIF%} Отзыв</a> | </td> <td> <a href="#goodsDataOpinionAdd" class="jsAction goodsDataOpinionShowAddForm AddNewOpinionLinkAfterList">Написать отзыв</a> </td> </td> </thead> </table>
где вместо текста "Ссылка на изображение" должна быть указаны ссылка на изображение 5и не активных звезд.
#5
Отправлено 29 Январь 2013 - 10:47
Цитата
<h3>Отзывы: {GOODS_NAME}</h3><br />
#7
Отправлено 29 Январь 2013 - 12:28
551 (29 Январь 2013 - 11:44) писал:
Без-имени-1.png
К сожалению, оценка отзывов может находиться только в шаблоне "Товар", переместить её не получиться,так как такие данные не доступны в других шаблонах.
#9
Отправлено 12 Март 2013 - 03:22
#11
Отправлено 12 Март 2013 - 11:32
otdyh-i-son.ru (12 Март 2013 - 03:22) писал:
Может быть вам поможет эта статья - http://habrahabr.ru/post/132807/ ?
#12
Отправлено 12 Март 2013 - 11:39
miyako (12 Март 2013 - 11:32) писал:
Так в этой статье описано, как сделать звезды с нуля. Зачем? У стореленда уже есть звезды. Как их использовать, чтобы выводить рейтинг без отзывов? Я попробовал вставить этот код:
<table><tbody><tr> <td class="valignTop"><label>Оценка товара</label></td> <td> <div class="goodsDataOpinionTableRating"> <input name="form[goods_opinion_rating]" type="radio" value="1" {% IF FORM_GOODS_OPINION_RATING=1 %}checked="checked"{% ENDIF %} title="Ужасный" /> <input name="form[goods_opinion_rating]" type="radio" value="2" {% IF FORM_GOODS_OPINION_RATING=2 %}checked="checked"{% ENDIF %} title="Очень плохой"/> <input name="form[goods_opinion_rating]" type="radio" value="3" {% IF FORM_GOODS_OPINION_RATING=3 %}checked="checked"{% ENDIF %} title="Плохой"/> <input name="form[goods_opinion_rating]" type="radio" value="4" {% IF FORM_GOODS_OPINION_RATING=4 %}checked="checked"{% ENDIF %} title="ниже среднего"/> <input name="form[goods_opinion_rating]" type="radio" value="5" {% IF FORM_GOODS_OPINION_RATING=5 %}checked="checked"{% ENDIF %} title="Средний"/> <input name="form[goods_opinion_rating]" type="radio" value="6" {% IF FORM_GOODS_OPINION_RATING=6 %}checked="checked"{% ENDIF %} title="Выше среднего"/> <input name="form[goods_opinion_rating]" type="radio" value="7" {% IF FORM_GOODS_OPINION_RATING=7 %}checked="checked"{% ENDIF %} title="Хороший"/> <input name="form[goods_opinion_rating]" type="radio" value="8" {% IF FORM_GOODS_OPINION_RATING=8 %}checked="checked"{% ENDIF %} title="Очень хороший"/> <input name="form[goods_opinion_rating]" type="radio" value="9" {% IF FORM_GOODS_OPINION_RATING=9 %}checked="checked"{% ENDIF %} title="Отличный"/> <input name="form[goods_opinion_rating]" type="radio" value="10" {% IF FORM_GOODS_OPINION_RATING=10 %}checked="checked"{% ENDIF %} title="Превосходный"/> </div> <span class="goodsDataOpinionMsg"></span> </td> </tr></tbody></table>
Звезды появились, можно выбрать и проголосовать. Но если уйти со страницы, рейтинг не фиксируется. Что делать?
#13
Отправлено 13 Март 2013 - 03:13
name="form[goods_opinion_rating]"
должно быть
name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_RATING}]"
так выглядит стандартная форма
<div class="goodsDataOpinionTableRating"> <input name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_RATING}]" type="radio" value="1" {% IF FORM_GOODS_OPINION_RATING=1 %}checked="checked"{% ENDIF %} title="Ужасный" /> <input name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_RATING}]" type="radio" value="2" {% IF FORM_GOODS_OPINION_RATING=2 %}checked="checked"{% ENDIF %} title="Очень плохой"/> <input name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_RATING}]" type="radio" value="3" {% IF FORM_GOODS_OPINION_RATING=3 %}checked="checked"{% ENDIF %} title="Плохой"/> <input name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_RATING}]" type="radio" value="4" {% IF FORM_GOODS_OPINION_RATING=4 %}checked="checked"{% ENDIF %} title="ниже среднего"/> <input name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_RATING}]" type="radio" value="5" {% IF FORM_GOODS_OPINION_RATING=5 %}checked="checked"{% ENDIF %} title="Средний"/> <input name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_RATING}]" type="radio" value="6" {% IF FORM_GOODS_OPINION_RATING=6 %}checked="checked"{% ENDIF %} title="Выше среднего"/> <input name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_RATING}]" type="radio" value="7" {% IF FORM_GOODS_OPINION_RATING=7 %}checked="checked"{% ENDIF %} title="Хороший"/> <input name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_RATING}]" type="radio" value="8" {% IF FORM_GOODS_OPINION_RATING=8 %}checked="checked"{% ENDIF %} title="Очень хороший"/> <input name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_RATING}]" type="radio" value="9" {% IF FORM_GOODS_OPINION_RATING=9 %}checked="checked"{% ENDIF %} title="Отличный"/> <input name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_RATING}]" type="radio" value="10" {% IF FORM_GOODS_OPINION_RATING=10 %}checked="checked"{% ENDIF %} title="Превосходный"/> </div>
#14
Отправлено 13 Март 2013 - 09:24
Vaccina (13 Март 2013 - 03:13) писал:
name="form[goods_opinion_rating]"
должно быть
name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_RATING}]"
так выглядит стандартная форма
<div class="goodsDataOpinionTableRating"> <input name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_RATING}]" type="radio" value="1" {% IF FORM_GOODS_OPINION_RATING=1 %}checked="checked"{% ENDIF %} title="Ужасный" /> <input name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_RATING}]" type="radio" value="2" {% IF FORM_GOODS_OPINION_RATING=2 %}checked="checked"{% ENDIF %} title="Очень плохой"/> <input name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_RATING}]" type="radio" value="3" {% IF FORM_GOODS_OPINION_RATING=3 %}checked="checked"{% ENDIF %} title="Плохой"/> <input name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_RATING}]" type="radio" value="4" {% IF FORM_GOODS_OPINION_RATING=4 %}checked="checked"{% ENDIF %} title="ниже среднего"/> <input name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_RATING}]" type="radio" value="5" {% IF FORM_GOODS_OPINION_RATING=5 %}checked="checked"{% ENDIF %} title="Средний"/> <input name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_RATING}]" type="radio" value="6" {% IF FORM_GOODS_OPINION_RATING=6 %}checked="checked"{% ENDIF %} title="Выше среднего"/> <input name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_RATING}]" type="radio" value="7" {% IF FORM_GOODS_OPINION_RATING=7 %}checked="checked"{% ENDIF %} title="Хороший"/> <input name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_RATING}]" type="radio" value="8" {% IF FORM_GOODS_OPINION_RATING=8 %}checked="checked"{% ENDIF %} title="Очень хороший"/> <input name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_RATING}]" type="radio" value="9" {% IF FORM_GOODS_OPINION_RATING=9 %}checked="checked"{% ENDIF %} title="Отличный"/> <input name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_RATING}]" type="radio" value="10" {% IF FORM_GOODS_OPINION_RATING=10 %}checked="checked"{% ENDIF %} title="Превосходный"/> </div>
В таком случае, значения также не фиксируются. Т.е. я захожу на страницу товара, голосую, ухожу со страницы, захожу на нее снова, но рейтинг товара там не изменяется. Как сделать, чтобы рейтинг оставался (т.е. звезды желтые) и как рядом вывести количество проголосовавших?
#15
Отправлено 14 Март 2013 - 03:21
#17
Отправлено 15 Март 2013 - 02:53
#18
Отправлено 15 Апрель 2013 - 17:39
551 (29 Январь 2013 - 11:44) писал:
Без-имени-1.png
А кто-нибудь заметил, что такая возможность уже появилась?
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных