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


Рейтинг Товаров


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 117

#1 551

551

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 650 сообщений
  • ГородМосква

Отправлено 28 Январь 2013 - 15:45

Добрый день. Начал использовать на своем сайте отзывы и появилось несколько вопросов: Вместе с отзывом можно поставить оценку товара. Значение этой оценки как-то можно вынести в другое место? Хочу сделать что-то вроде этого:

jnpsds.png

Звездами показывается текущий рейтинг, при клике на ссылку с количеством отзывов страница опускается вниз к отзывам, при клике "написать отзыв" опускается вниз и открывается форма для написания отзыва.

Как это сделать?

#2 Koderhan

Koderhan

    Активный участник

  • Модератоpы
  • 6 227 сообщений

Отправлено 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 551

551

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 650 сообщений
  • ГородМосква

Отправлено 28 Январь 2013 - 22:57

Спасибо огромное! Отлично работает! Только когда оценок нет, он показывает 5 желтых звезд, а нужно чтобы они серыми были. И также, когда написано "отзывов: 0", при нажатии на ссылку ничего не происходит, а должно опускать страницу к отзывам. Как это поправить?

#4 Vaccina

Vaccina

    Активный участник

  • Модераторы
  • 23 805 сообщений

Отправлено 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 551

551

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 650 сообщений
  • ГородМосква

Отправлено 29 Январь 2013 - 10:47

Спасибо) Так не заработало, но я понял, куда картинку с серыми звездами вставить. А чтобы страница опускалась к отзывам при нажатии на ссылку "отзывов: 0" переставил id="myotziv" выше, вот так:

Цитата

<div class="goodsDataOpinion" id="myotziv" >
        <h3>Отзывы: {GOODS_NAME}</h3><br />


#6 551

551

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 650 сообщений
  • ГородМосква

Отправлено 29 Январь 2013 - 11:44

И еще у меня вопрос. Как вывести звезды на страницу списка товаров? Примерно вот так:

Без-имени-1.png

#7 support 2.0

support 2.0

    Активный участник

  • Модераторы
  • 4 924 сообщений

Отправлено 29 Январь 2013 - 12:28

Просмотр сообщения551 (29 Январь 2013 - 11:44) писал:

И еще у меня вопрос. Как вывести звезды на страницу списка товаров? Примерно вот так:

Прикрепленный файл Без-имени-1.png

К сожалению, оценка отзывов может находиться только в шаблоне "Товар", переместить её не получиться,так как такие данные не доступны в других шаблонах.

#8 ogonek7777

ogonek7777

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 2 109 сообщений
  • ГородМосква

Отправлено 29 Январь 2013 - 12:38

Просмотр сообщенияsupport 2.0 (29 Январь 2013 - 12:28) писал:

К сожалению, оценка отзывов может находиться только в шаблоне "Товар", переместить её не получиться, так как такие данные не доступны в других шаблонах.
о, меня тоже печалит сей факт(

#9 Flor@@

Flor@@

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 1 959 сообщений

Отправлено 12 Март 2013 - 03:22

А можно ли сделать так, чтобы человек мог бы нажимать на звездочки, изменяя таким образом рейтинг товара, без заполнения отзыва??

#10 551

551

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 650 сообщений
  • ГородМосква

Отправлено 12 Март 2013 - 11:29

Просмотр сообщенияotdyh-i-son.ru (12 Март 2013 - 03:22) писал:

А можно ли сделать так, чтобы человек мог бы нажимать на звездочки, изменяя таким образом рейтинг товара, без заполнения отзыва??

Поддерживаю. Только тогда рядом со звездами нужно выводить количество проголосовавших.

#11 miyako

miyako

    Активный участник

  • Модератоpы
  • 5 372 сообщений

Отправлено 12 Март 2013 - 11:32

Просмотр сообщенияotdyh-i-son.ru (12 Март 2013 - 03:22) писал:

А можно ли сделать так, чтобы человек мог бы нажимать на звездочки, изменяя таким образом рейтинг товара, без заполнения отзыва??

Может быть вам поможет эта статья - http://habrahabr.ru/post/132807/ ?

#12 551

551

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 650 сообщений
  • ГородМосква

Отправлено 12 Март 2013 - 11:39

Просмотр сообщенияmiyako (12 Март 2013 - 11:32) писал:

Может быть вам поможет эта статья - http://habrahabr.ru/post/132807/ ?

Так в этой статье описано, как сделать звезды с нуля. Зачем? У стореленда уже есть звезды. Как их использовать, чтобы выводить рейтинг без отзывов? Я попробовал вставить этот код:

<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 Vaccina

Vaccina

    Активный участник

  • Модераторы
  • 23 805 сообщений

Отправлено 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 551

551

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 650 сообщений
  • ГородМосква

Отправлено 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 Vaccina

Vaccina

    Активный участник

  • Модераторы
  • 23 805 сообщений

Отправлено 14 Март 2013 - 03:21

Рейтинг сохраняется только после добавления отзыва. Если вы просто поставите рейтинг и не напишите отзыв - рейтинг не сохраниться.

#16 551

551

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 650 сообщений
  • ГородМосква

Отправлено 14 Март 2013 - 11:33

Просмотр сообщенияVaccina (14 Март 2013 - 03:21) писал:

Рейтинг сохраняется только после добавления отзыва. Если вы просто поставите рейтинг и не напишите отзыв - рейтинг не сохраниться.

А обойти добавление отзыва никак нельзя?

#17 Vaccina

Vaccina

    Активный участник

  • Модераторы
  • 23 805 сообщений

Отправлено 15 Март 2013 - 02:53

К сожалению нет.

#18 odissei

odissei

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 382 сообщений
  • ГородАм. Область

Отправлено 15 Апрель 2013 - 17:39

Просмотр сообщения551 (29 Январь 2013 - 11:44) писал:

И еще у меня вопрос. Как вывести звезды на страницу списка товаров? Примерно вот так:

Прикрепленный файл Без-имени-1.png

А кто-нибудь заметил, что такая возможность уже появилась?

#19 ogonek7777

ogonek7777

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 2 109 сообщений
  • ГородМосква

Отправлено 15 Апрель 2013 - 20:28

Просмотр сообщенияodissei (15 Апрель 2013 - 17:39) писал:

А кто-нибудь заметил, что такая возможность уже появилась?

Вау!! Давно мечтала. Прямо фейерверк мечт!!! А как установить?

#20 mikola

mikola

    Good soo good

  • Модератоpы
  • 1 550 сообщений
  • Городгород Нижний Новгород

Отправлено 15 Апрель 2013 - 20:39

Просмотр сообщенияogonek7777 (15 Апрель 2013 - 20:28) писал:

Вау!! Давно мечтала. Прямо фейерверк мечт!!! А как установить?
в данном случае

Цитата

Рейтинг сохраняется только после добавления отзыва. Если вы просто поставите рейтинг и не напишите отзыв - рейтинг не сохраниться.





Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных