К содержимому
Вывод в теме

Мои отзывы

Обновлено

Что видит покупатель

Раздел «Мои отзывы» собирает отзывы, связанные с контактом текущего авторизованного пользователя, со всех форм в режиме «Отзыв». В него попадают и отзывы, привязанные к контакту позднее, а также отзывы форм, которые впоследствии выключили.

Опубликованные отзывы, отзывы на проверке и, по настройке, отклонённые доступны самому автору. Публичная лента по-прежнему показывает только опубликованные.

Покупательские подписи состояний отличаются от терминов модерации:

В карточке заявки В данных личного кабинета (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 в корне активной темы. Ссылка меню в стандартном шаблоне не имеет обёртки списка. Общие правила приведены в статье «Лента в теме».