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


Отзывы о магазине


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

#1 metry

metry

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

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

Отправлено 09 Сентябрь 2020 - 17:24

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

Нужно перейти к странице этого товара и скопировать ссылку на товар которая понадобится чуть позже. Сохраните ее где нибудь.

Далее зайдите в разделе Сайт -> Редактор шаблонов-->Товар и вставьте в самом начале код:

{%IFNOT GOODS_NAME = Отзывы о магазине %} 

далее в самый конец добавьте:

{%ELSE%}
<!-- Основные вкладки описаний товара -->
<div class="product-tabs">
<h1>Отзывы о магазине</h1>
<div class="content">

<!-- Отзывы -->
<!-- Если в тарифном плане подключен модуль отзывов о товаре -->
{% IF TARIFF_FEATURE_GOODS_OPINION %}
<!-- Если не выключен модуль отзывов о товаре -->
{% IFNOT SETTINGS_OPINION_DISABLE %}
<div id="content_1" class="tab-content" >
	 <div id="goodsDataOpinionBlock" class="goodsDataOpinion">
	 <!-- Если отзывов по товару вообще нет, ни положительных ни отрицательных -->
	 {% IF opinion_list_empty_without_filter %}
		 <div class="goodsDataOpinionMessage empty"><p>Отзывов пока не было. Вы можете <a href="#goodsDataOpinionAdd" class="goodsDataOpinionShowAddForm">оставить его первым</a></p></div>
	 <!-- Если по товару есть хотя бы один отзыв -->
	 {% ELSE %}
	 <div class="goodsDataOpinionBody">
		 <!-- Верхняя навигация (Фильтры и страницы) -->
		 <div class="goodsDataOpinionListNavigateTop">
		 <!-- Фильтры отзывов -->
		 <a class="button allOpinions active">Все ({GOODS_OPINION_RATING_CNT_ALL})</a>
		 <a class="button goodOpinions">Положительные ({GOODS_OPINION_RATING_CNT_GOOD})</a>
		 <a class="button badOpinions">Отрицательные ({GOODS_OPINION_RATING_CNT_BAD})</a>
		 <a href="#goodsDataOpinionAdd" class="goodsDataOpinionShowAddForm button">Оставить отзыв</a>
		 </div>
		 <!-- END Верхняя навигация (Фильтры и страницы) -->
		 <!-- Если отзывов по товару не было с учетом фильтра по настроению отзыва -->
		 {% IFNOT opinion_list_empty %}
		 <!-- Список отзывов о товарах -->
		 <div class="goodsDataOpinionList" itemprop="review" itemscope itemtype="https://schema.org/Review">
		 {% FOR opinion_list %}
			 <div class="{% IF opinion_list.GENERALLY_IS_GOOD %}good{% ELSE %}bad{% ENDIF %} bord">
			 <div class="cell1 col-sm-3 col-xs-12" >
				 <strong itemprop="author" class="goodsDataOpinionListClient {% IF opinion_list.CLIENT_ID %}auth{% ENDIF %}">{opinion_list.NAME}</strong>
				 {% IF opinion_list.RATING %}
				 <div class="rating-box" 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}">
					 <meta itemprop="reviewCount" content="{opinion_list.OPINION_RATING_CNT_ALL}">
					 <div class="rating" style="width:{opinion_list.RATING}0%" alt="{opinion_list.RATING}" title="Рейтинг товара"></div>
				 </div>
				 {% ENDIF %}
				 <span class="goodsDataOpinionListDate">
				 <meta itemprop="datePublished" content="{opinion_list.DATE | date("Y-m-d")}">
				 <span class="time text-italic">{opinion_list.DATE}</span>
				 </span>
			 </div>
			 <div class="cell2 col-sm-9 col-xs-12">
				 {% IF opinion_list.TITLE %}<div class="goodsDataOpinionListTitle"><strong><span itemprop="name">{opinion_list.TITLE}</span></strong></div>{% ENDIF %}
				 {% IF opinion_list.ACCOMPLISHMENTS %}<div class="goodsDataOpinionListDesc"><strong>Достоинства:</strong><span itemprop="description">{opinion_list.ACCOMPLISHMENTS | nl2br}</span></div>{% ENDIF %}
				 {% IF opinion_list.LIMITATIONS %}<div class="goodsDataOpinionListDesc"><strong>Недостатки:</strong><span itemprop="description">{opinion_list.LIMITATIONS | nl2br}</span></div>{% ENDIF %}
				 {% IF opinion_list.COMMENT %}<div class="goodsDataOpinionListDesc"><strong>Комментарий:</strong><span itemprop="reviewBody">{opinion_list.COMMENT | nl2br}</span></div>{% ENDIF %}
				 {% IF opinion_list.ANSWER %}<div class="goodsDataOpinionListTableAnswer"> <span>{opinion_list.ANSWER | nl2br}</span></div>{% ENDIF %}
			 </div>
			 </div>
		 {% ENDFOR %}
		 </div>
		 <!-- END Список отзывов о товаре -->
		 <!-- Нижняя навигация (страницы) -->
		 <div class="goodsDataOpinionListNavigateBottom f-fix">
		 <!-- Страницы отзывов -->
		 {% IF opinion_show_pages %}
			 <div class="pages">
			 <span class="label">Страницы:</span>
			 <ol>
			 {% FOR opinion_pages_list %}
				 {% IF opinion_pages_list.CURRENT %}
				 <li class="current"><span>{opinion_pages_list.PAGE}</span></li>
				 {% ELSE %}
				 <li><a href="{GOODS_OPINION_PAGINATE_URL}&page={opinion_pages_list.PAGE}#show_tab_4">{opinion_pages_list.PAGE}</a></li>
				 {% ENDIF %}
			 {% ENDFOR %}
			 </ol>
			 </div>
		 {% ENDIF %}
		 </div>
		 <!-- END Нижняя навигация (страницы) -->
		 {% ENDIF %}
	 </div>
	 {% ENDIF %}
	 <!-- END Если по товару есть хотя бы один отзыв -->
	
	 <!-- Форма добавления нового отзыва о товаре -->
	 <form action="{CURRENT_URL}" method="post" class="goodsDataOpinionAddForm">
		 <div id="goodsDataOpinionAdd">
		 <div id="goodsDataOpinionAddBlock" {% IFNOT FORM_GOODS_ID %}style="display:none"{% 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}
			 <h3>Новый отзыв о &laquo;магазине&raquo;</h3>
			 <div class="goodsDataOpinionAddTable form">
			 {% IF TARIFF_FEATURE_CLIENT_ROOM %}
			 {% IFNOT CLIENT_IS_LOGIN %}
			 <div class="goodsDataOpinionMessage">
				 <p>Ваши знания будут оценены посетителями сайта, если Вы <a href="{USER_LOGIN_URL}" class="link-more">авторизуетесь</a> перед написанием отзыва.</p>
			 </div>
			 {% ENDIF %}
			 {% ENDIF %}
			 <!-- Форма добавления отзыва о товаре -->
			 {% IFNOT CLIENT_IS_LOGIN %}
			 <div class="goodsDataOpinionBlock">
				 <label for="goods_opinion_name">Ваше имя</label>
				 <div><input type="text" id="goods_opinion_name" name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_NAME}]" value="{FORM_GOODS_OPINION_NAME}" maxlength="255" class="inputText required"/></div>
			 </div>
			 {% ENDIF %}
			 <div class="goodsDataOpinionBlock">
				 <label for="goods_opinion_title">Заголовок</label>
				 <div><input type="text" id="goods_opinion_title" name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_TITLE}]" value="{FORM_GOODS_OPINION_TITLE}" maxlength="255" class="inputText" /></div>
			 </div>
			 <div class="goodsDataOpinionBlock">
				 <label>Оценка товара</label>
				 <div class="goodsDataOpinionRating">
				 <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>
				 <span class="goodsDataOpinionMsg"></span>
			 </div>
			 <div class="goodsDataOpinionBlock">
				 <label for="goods_opinion_accomplishments">Достоинства</label>
				 <div><textarea id="goods_opinion_accomplishments" name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_ACCOMPLISHMENTS}]" cols="100" rows="3" class="textarea">{FORM_GOODS_OPINION_ACCOMPLISHMENTS}</textarea></div>
			 </div>
			 <div class="goodsDataOpinionBlock">
				 <label for="goods_opinion_limitations">Недостатки</label>
				 <div><textarea id="goods_opinion_limitations" name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_LIMITATIONS}]" cols="100" rows="3" class="textarea">{FORM_GOODS_OPINION_LIMITATIONS}</textarea></div>
			 </div>
			 <div class="goodsDataOpinionBlock">
				 <label for="goods_opinion_comment">Комментарий</label>
				 <div><textarea id="goods_opinion_comment" name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_COMMENT}]" cols="100" rows="3" class="textarea required">{FORM_GOODS_OPINION_COMMENT}</textarea></div>
			 </div>
			 <div class="goodsDataOpinionBlock">
				 <label for="goods_opinion_generally_is_good1">В целом Ваш отзыв</label>
				 <div class="generally">
				 <input 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 for="goods_opinion_generally_is_good1">Положительный</label>
				 <br/>
				 <input 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 for="goods_opinion_generally_is_good0">Отрицательный</label>
				 </div>
			 </div>
			 {% IF USE_CAPTCHA %}
				 <div class="goodsDataOpinionBlock">
				 <label for="opinion_captcha_string" title="Введите код с картинки">Введите код</label>
				 <div class="goodsDataOpinionCaptcha">
					 <input type="text" id="opinion_captcha_string" name="form[{ANTISPAM_FORM_FIELD_NAME_CAPTCHA_STRING}]" autocomplete="off" class="captcha inputText required" value="{FORM_}" />
					 <img src="{CAPTCHA_URL}" class="goodsDataOpinionCaptchaImg" alt="Код" title="Проверочный код, который нужно ввести в соседнее поле" />
					 <i class="icon-loop2 goodsDataOpinionCaptchaRefresh"></i>
				 </div>
				 </div>
			 {% ENDIF %}
			 <!-- Кнопка отправки формы -->
			 <div class="clear">
				 <button type="button" title="Отменить" class="goodsDataOpinionFormReset">Отменить</button>
				 <button type="button" title="Добавить отзыв о &laquo;{GOODS_NAME}&raquo;" class="button" onclick="$('.goodsDataOpinionAddForm').submit()">Добавить отзыв</button>
			 </div>
			 </div>
		 </div>
		 </div>
	 </form>
	 <!-- Дабы добавляющий увидел результат добавления изменим хэш -->
	 {% IF FORM_GOODS_ID %}<script type="text/javascript">document.location.hash="goodsDataOpinionAdd"</script>{% ENDIF %}
	 </div>
</div>
{% ENDIF %}
<!-- /END Если не выключен модуль отзывов о товаре -->
{% ENDIF %}
<!-- /END Если в тарифном плане подключен модуль отзывов о товаре -->
</div>
</div>
<!-- /END Основные вкладки описаний товара -->
</div>
{%ENDIF%}

далее зайдите в Редактор шаблонов-->HTML и найдите:

<script type="text/javascript">
// Запуск основных скриптов для страницы Товар
$(document).ready(function () { goodspage(); });
$(document).ready(function () { quantity(); });
// Инициализируем табы на странице
$(document).ready(function () { initTabs(); });
</script>

замените на:

<script type="text/javascript">
// Запуск основных скриптов для страницы Товар
$(document).ready(function () { goodspage(); });
	 {%IFNOT GOODS_NAME = Отзывы о магазине %}
$(document).ready(function () { quantity(); });
	
// Инициализируем табы на странице
$(document).ready(function () { initTabs(); });
	 {% ENDIF %}
</script>

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

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




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

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