Мои отзывы
Обновлено
Что видит покупатель
Раздел «Мои отзывы» собирает отзывы, связанные с контактом текущего авторизованного пользователя, со всех форм в режиме «Отзыв». В него попадают и отзывы, привязанные к контакту позднее, а также отзывы форм, которые впоследствии выключили.
Опубликованные отзывы, отзывы на проверке и, по настройке, отклонённые доступны самому автору. Публичная лента по-прежнему показывает только опубликованные.
Покупательские подписи состояний отличаются от терминов модерации:
| В карточке заявки | В данных личного кабинета (state_label) |
|---|---|
| На модерации | На проверке |
| Опубликован | Опубликован |
| Отклонён | Не опубликован |
В стандартном шаблоне у опубликованного отзыва отдельной плашки состояния нет.
Общие настройки плагина
Откройте «Заявки» → «Плагины» → «Отзывы на сайте».
| Настройка | Что делает | Значения / по умолчанию |
|---|---|---|
| Раздел «Мои отзывы» в личном кабинете покупателя | Включает раздел и возможность добавить пункт меню | Выключено |
| Название пункта меню и заголовок страницы | Задаёт подпись ссылки и заголовок готовой страницы | Мои отзывы; пустое значение также использует это название |
| Адрес страницы «Мои отзывы» | Задаёт адрес ссылки на раздел | Пусто — адрес профиля Shop-Script с ?view=reviews, обычно /my/profile/?view=reviews; без Shop-Script нужен свой адрес |
| Форма для кнопки «Оставить отзыв» | Выбирает форму, открывающуюся во всплывающем окне | «Без кнопки «Оставить отзыв»»; можно выбрать форму в режиме «Отзыв» |
| Показывать отклонённые отзывы | Добавляет в личный список отзывы с состоянием «Отклонён» | Включено |
Форма для кнопки должна существовать, быть включена и оставаться в режиме «Отзыв», иначе кнопки не будет. Этот выбор влияет только на кнопку: список собирается со всех форм отзывов.
Подключение к теме
Для работы нужны и ссылка в меню, и страница, выводящая содержимое раздела. Плагин добавляет ссылку через событие Shop-Script frontend_my_nav, если тема выводит его результат. Само событие не создаёт страницу с отзывами.
Если тема ещё не поддерживает раздел, добавьте в нужное место страницы личного кабинета:
{if !empty($wa->requests->sitereviewsPlugin->version())}
{$wa->requests->sitereviewsPlugin->myReviews()}
{/if}При использовании стандартного адреса Shop-Script тема должна обрабатывать view=reviews на странице профиля и вызывать там этот метод. Для отдельной страницы сайта разместите вызов на ней и впишите её адрес в «Адрес страницы «Мои отзывы»».
Встроенная поддержка Seller 2 заявлена в описании продукта. Для конкретной установленной версии темы проверьте появление меню и вывод страницы после включения настройки.
Если в теме нет вывода frontend_my_nav, можно сделать свою ссылку:
{if !empty($wa->requests->sitereviewsPlugin->version())}
{assign var=reviews_url value=$wa->requests->sitereviewsPlugin->myUrl()}
{if $reviews_url}
<a href="{$reviews_url|escape}">Мои отзывы ({$wa->requests->sitereviewsPlugin->myCount()})</a>
{/if}
{/if}Неавторизованному посетителю myReviews() показывает приглашение войти. Ссылка на вход формируется через Shop-Script; без него приглашение может быть без ссылки. Стандартный профиль магазина сам требует авторизации.
Методы для разработчика
| Метод | Что возвращает |
|---|---|
myReviews(options) |
Готовую страницу со списком, навигацией и кнопкой формы; при выключенном разделе — пустую строку |
myItems(options) |
Массив своих отзывов, новые первыми; у гостя и при выключенном разделе — пустой массив |
myCount() |
Число своих отзывов с учётом «Показывать отклонённые отзывы»; у гостя и при выключенном разделе — 0 |
myUrl() |
Настроенный адрес или адрес профиля магазина; при выключенном разделе или невозможности собрать адрес — пустую строку |
У myReviews() есть опции title (заголовок вместо настройки), per_page (по умолчанию 10, максимум 100) и page (иначе GET page). У myItems() — limit (по умолчанию 20) и offset (по умолчанию 0).
myItems() содержит данные обычного отзыва, а также form_id, form_name, state, state_label.
{if !empty($wa->requests->sitereviewsPlugin->version())}
{foreach $wa->requests->sitereviewsPlugin->myItems(['limit' => 10]) as $review}
<article>
<b>{$review.form_name|escape}</b> — {$review.state_label|escape}
<p>{$review.text|escape|nl2br}</p>
</article>
{/foreach}
{/if}Для переопределения страницы используйте sitereviews_plugin.my_reviews.html, для ссылки меню — sitereviews_plugin.my_nav.html в корне активной темы. Ссылка меню в стандартном шаблоне не имеет обёртки списка. Общие правила приведены в статье «Лента в теме».