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


Отзывы Об Интернет-Магазине

Отзывы

  • Авторизуйтесь для ответа в теме
В этой теме нет ответов

#1 stasia

stasia

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

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

Отправлено 23 Февраль 2021 - 17:41

Сделать отдельную страницу с отзывами о магазине можно используя скрытый товар на сайте.
Создаем товар в любой категории с названием "Отзывы о Магазине" и ставим галочку на "Скрыть товар на сайте".


Переходим к странице этого товара и копируем ссылку на товар, которая понадобится чуть позже. Сохраняем ее где-нибудь.Заходим в раздел Сайт---Редактор шаблонов---Товар и в самом начале шаблона добавляем перед всем кодом:
{%IFNOT GOODS_NAME = Отзывы о Магазине %}


И в самом конце шаблона добавляем код:
{% ELSE %}
	<!-- Если в тарифном плане подключен модуль отзывов о товаре -->
			  {% IF TARIFF_FEATURE_GOODS_OPINION %}
				<!-- Если не выключен модуль отзывов о товаре -->
				{% IFNOT SETTINGS_OPINION_DISABLE %}
				
				  <div class="goods-opinion">
					<div class="container">
					<!-- Если отзывов по товару вообще нет, ни положительных ни отрицательных -->
					{% IF FORM_NOTICE %}
					  <div class="goods-opinion__notice" id="goods-opinion-notice" data-opinion-type="{% IF FORM_NOTICE_IS_GOOD %}success{% ELSE %}error{% ENDIF %}">
						<h3 class="{% IF FORM_NOTICE_IS_GOOD %}success{% ELSE %}error{% ENDIF %}">{FORM_NOTICE}</h3>
					  </div>
					{% ENDIF %}
					<div class="goods-opinion__top">
					  <!-- Счётчик отзывов -->
					  <div class="review-counter {% IFNOT opinion_list_empty_without_filter %}_visible{% ENDIF %}" {% IF opinion_list_empty_without_filter %}style="display:none"{% ENDIF %}>
						<div class="review-grade">
						  <div class="review-count"><span class="count">{GOODS_OPINION_RATING_VALUE | divide("2")}</span><span>из 5</span></div>
						  <div class="rating-box _counter">
							{% IF GOODS_OPINION_RATING_VALUE_ROUND %}
							<span itemprop="aggregateRating" itemscope itemtype="https://schema.org/AggregateRating">
							  <meta itemprop="worstRating" content="1">
							  <meta itemprop="bestRating" content="10">
							  <meta itemprop="ratingValue" content="{GOODS_OPINION_RATING_VALUE_ROUND}">
							  <meta itemprop="reviewCount" content="{GOODS_OPINION_RATING_CNT_ALL}">
							  <div class="rating" style="width:{GOODS_OPINION_RATING_VALUE_ROUND}0%" alt="{GOODS_OPINION_RATING_VALUE_ROUND}" title="Рейтинг товара"></div>
							</span>
							{% ELSE %}
							  <div class="rating" style="width:0%" alt="Рейтинг не определён" title="Рейтинг не определён"></div>
							{% ENDIF %}
						  </div>
						</div>
						<div class="grade-lines">
						  <div class="grade-block" data-number="5">
							<div class="grade-text">5 Звезд</div>
							<div class="grade-line">
							  <div class="grade-line-count"></div>
							</div>
							<div class="grade-count-number"></div>
						  </div>
						  <div class="grade-block" data-number="4">
							<div class="grade-text">4 Звезды</div>
							<div class="grade-line">
							  <div class="grade-line-count"></div>
							</div>
							<div class="grade-count-number"></div>
						  </div>
						  <div class="grade-block" data-number="3">
							<div class="grade-text">3 Звезды</div>
							<div class="grade-line">
							  <div class="grade-line-count"></div>
							</div>
							<div class="grade-count-number"></div>
						  </div>
						  <div class="grade-block" data-number="2">
							<div class="grade-text">2 Звезды</div>
							<div class="grade-line">
							  <div class="grade-line-count"></div>
							</div>
							<div class="grade-count-number"></div>
						  </div>
						  <div class="grade-block" data-number="1">
							<div class="grade-text">1 Звезда</div>
							<div class="grade-line">
							  <div class="grade-line-count"></div>
							</div>
							<div class="grade-count-number"></div>
						  </div>
						</div>
					  </div>				  
					  <!-- Форма добавления нового отзыва о товаре -->
					  <form action="{CURRENT_URL}" method="post" class="goods-opinion-form {% IF opinion_list_empty_without_filter %}2{% ELSE %}1{% ENDIF %}">
							<input type="hidden" name="hash" value="{HASH}" />
							<input type="hidden" name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_FROM}]" value="{GOODS_FROM}" />
							<input type="hidden" name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_ID}]" value="{GOODS_ID}" />
							<!-- Набор полей которые не видит пользователь, но видят боты. Когда они их заполняют мы точно знаем, что их прислал нам бот и мы не сохраняем подобный отзыв о товаре, а боту отправившему отзыв сообщаем, что отзыв добавлен успешно, но будет отображён здесь после прохождения модерации -->
							{ANTISPAM_CODE}
							<div class="goods-opinion-form__body">
							  <div class="goods-opinion-form__header">
								<h3 class="goods-opinion-form__title">Написать отзыв</h3>
								<div class="goods-opinion-form__rating">
								  <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="4" {% IF FORM_GOODS_OPINION_RATING=4 %}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="8" {% IF FORM_GOODS_OPINION_RATING=8 %}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>
								<span class="goods-opinion-form__msg"></span>
							  </div>
							  <div class="goods-opinion-form__inputs">
								{% IFNOT CLIENT_IS_LOGIN %}
								<div class="goods-opinion-form__input-wrap _person">
								  <input type="text" id="goods_opinion_name" placeholder="Ваше имя" name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_NAME}]"  value="{FORM_GOODS_OPINION_NAME}" maxlength="255" class="goods-opinion-form__input _person input" required/>
								</div>
								{% ENDIF %}
								<div class="goods-opinion-form__input-wrap _title">
								  <input type="text" id="goods_opinion_title" name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_TITLE}]" value="{FORM_GOODS_OPINION_TITLE}" maxlength="255" class="goods-opinion-form__input _title input" placeholder="Заголовок"/>
								</div>							  
								<div class="goods-opinion-form__input-wrap _comment">
								  <textarea id="goods_opinion_comment" placeholder="Комментарий" name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_COMMENT}]" cols="100" rows="3" class="goods-opinion-form__input _comment textarea input" required>{FORM_GOODS_OPINION_COMMENT}</textarea>
								</div>
							  </div>
							  <div style="display: none;">
								<label>В целом Ваш отзыв</label>
								<div class="radio">
								  <input class="radio-hidden" id="goods_opinion_generally_is_good1" name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_GENERALLY_IS_GOOD}]" type="radio" value="1" {% IF FORM_GOODS_OPINION_GENERALLY_IS_GOOD=1 %}checked="checked"{% ENDIF %}/>
								  <label class="radio-name" for="goods_opinion_generally_is_good1">Положительный</label>
								</div>
								<div class="radio">
								  <input class="radio-hidden" id="goods_opinion_generally_is_good0" name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_GENERALLY_IS_GOOD}]" type="radio" value="0" {% IF FORM_GOODS_OPINION_GENERALLY_IS_GOOD=0 %}checked="checked"{% ENDIF %}/>
								  <label class="radio-name" for="goods_opinion_generally_is_good0">Отрицательный</label>
								</div>
							  </div>
							  {% IF USE_CAPTCHA %}
								<div class="goods-opinion-form__captcha">
								  <div class="goods-opinion-form__input-wrap">
									<input type="text" id="opinion_captcha_string" name="form[{ANTISPAM_FORM_FIELD_NAME_CAPTCHA_STRING}]" autocomplete="off" class="goods-opinion-form__input-captcha input _bordered" placeholder="Введите код" value="{FORM_}" required/>
								  </div>
								  <img src="{CAPTCHA_URL}" class="goods-opinion-form__captcha-img" alt="Код" title="Проверочный код, который нужно ввести в соседнее поле" />
								  <button type="button" class="button goods-opinion-form__captcha-refresh-button">
									<i class="fal fa-sync"></i>
								  </button>
								</div>
							  {% ENDIF %}
							  <!-- Кнопка отправки формы -->
							  <button type="submit" title="Добавить отзыв о &laquo;{GOODS_NAME}&raquo;" class="button goods-opinion-form__submit-button" data-default-text="Добавить отзыв"><span>Добавить отзыв</span></button>
							</div>
					  </form>
					</div>
					<!-- Если по товару есть хотя бы один отзыв -->
					<div class="goods-opinion__body">
						<!-- Список отзывов о товарах -->
						<div class="goods-opinion-list" {% IF opinion_list_empty %}style="display:none"{% ENDIF %}>
						  {% FOR opinion_list %}
							<div class="opinion-item {% IF opinion_list.GENERALLY_IS_GOOD %}_good{% ELSE %}_bad{% ENDIF %}" data-rating='{opinion_list.RATING | divide("2")}' itemprop="review" itemscope itemtype="https://schema.org/Review">
							  <meta itemprop="itemReviewed" content="{GOODS_NAME}">
							  <div class="opinion-item__row">
								<div class="opinion-item__col _left">
								  <strong itemprop="author" class="goodsDataOpinionListClient {% IF opinion_list.CLIENT_ID %}auth{% ENDIF %}">{opinion_list.NAME}</strong>
								</div>
								<div class="opinion-item__col _right">
								  {% IF opinion_list.RATING %}
									<div class="rating-box _review" itemprop="reviewRating" itemscope itemtype="https://schema.org/Rating">
									  <meta itemprop="worstRating" content="1">
									  <meta itemprop="bestRating" content="10">
									  <meta itemprop="ratingValue" content="{opinion_list.RATING}">
									  <div class="rating" style="width:{opinion_list.RATING}0%" alt="{opinion_list.RATING}" title="Рейтинг товара"></div>
									</div>
								  {% ENDIF %}
								  {% IF opinion_list.TITLE %}<div class="opinion-item__title"><strong><span itemprop="name">{opinion_list.TITLE}</span></strong></div>{% ENDIF %}
								  {% IF opinion_list.ACCOMPLISHMENTS %}<div class="opinion-item__desc"><strong>Достоинства:</strong><span itemprop="description">{opinion_list.ACCOMPLISHMENTS | nl2br}</span></div>{% ENDIF %}
								  {% IF opinion_list.LIMITATIONS %}<div class="opinion-item__desc"><strong>Недостатки:</strong><span itemprop="description">{opinion_list.LIMITATIONS | nl2br}</span></div>{% ENDIF %}
								  {% IF opinion_list.COMMENT %}<div class="opinion-item__desc"><strong></strong><span itemprop="reviewBody">{opinion_list.COMMENT | nl2br}</span></div>{% ENDIF %}
								  {% IF opinion_list.ANSWER %}<div class="opinion-item__answer"> <span>{opinion_list.ANSWER | nl2br}</span></div>{% ENDIF %}							  
								  <span class="opinion-item__date">
									<meta itemprop="datePublished" content='{opinion_list.DATE | date("Y-m-d")}'>
									<span class="opinion-item__date-value">{opinion_list.DATE}</span>
								  </span>							 
								</div>
							  </div>
							</div>
						  {% ENDFOR %}
						</div>
						<button id="goods-opinion__more-button" class="button goods-opinion__more-button"  style="{% IF opinion_list_empty %}display:none;{% ENDIF %}{% IFNOT opinion_list_empty %}{% FOR opinion_list %}{% IF opinion_list.index < 5 %}display:none;{% ELSE %}display:block;{% ENDIF %}{% ENDFOR %}{% ENDIF %}">Показать ещё</button>
						<!-- END Список отзывов о товаре -->
					</div>
					<!-- END Если по товару есть хотя бы один отзыв -->
					</div>
				  </div>
				{% ENDIF %}
				<!-- /END Если не выключен модуль отзывов о товаре -->
			  {% ENDIF %}
	<!-- /END Если в тарифном плане подключен модуль отзывов о товаре -->
{% ENDIF %}



Теперь нам осталось добавить на сайте адрес на страницу с отзывами. Это можно сделать в разделе Сайт---Меню. Добавить новый пункт меню.
Выбирать "Произвольный адрес" в выпадающем списке. Тут-то и пригодится адрес к странице с недавно созданным товаром.

Теперь по нажатию на пункт меню должна открываться страница отзывов.





Темы с аналогичным тегами Отзывы

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

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