Справочник настроек виджетов
Все настройки виджетов 2.0: параметры widgetsConfig, data-атрибуты, значения по умолчанию и соответствующие поля раздела «Виджеты»
Настройки виджетов 2.0 задаются в трёх местах: в разделе Виджеты личного кабинета, в объекте widgetsConfig вызова aplaut.init и data-атрибутами на теге виджета. Если параметр задан и в widgetsConfig, и атрибутом, действует значение из widgetsConfig: оно одно для всех экземпляров виджета на странице.
Где задаются настройки виджета
| Виджет | Тег | Раздел widgetsConfig | Модуль в availableWidgets | Тип в createWidget |
|---|---|---|---|---|
| Отзывы | ap-reviews | reviews | reviews | reviews |
| Форма отзыва | ap-reviews-form | review_form | reviewsForm | reviewsForm |
| Вопросы и ответы | ap-questions-answers | questions_answers | questionsAnswers | questionsAnswers |
| Галерея | ap-reviews-gallery | gallery | gallery | reviewsGallery |
| AI-сводка | ap-reviews-summary | summary | summary | summary |
| Информер | ap-informer | inline_informer | не нужен, загружается всегда | inlineInformer или inlineRating |
| Сторис | ap-stories | stories | stories | — |
| Приглашение оставить отзыв | ap-product-review-invite | products_review_invite | productsReviewInvite | productsReviewInvite |
Имена разделов и параметров можно писать в camelCase или snake_case: виджет приводит их к snake_case. Раздел формы отзыва поэтому называется review_form или reviewForm, а reviewsForm виджет не распознаёт. Вложенный JSON в data-атрибуте не преобразуется, ключи внутри него пишутся в snake_case.
Значение data-атрибута виджет разбирает как JSON: "false" становится логическим значением, "10" числом. Строка, которая не разбирается как JSON, остаётся строкой.
Общие для страницы параметры лежат в разделе general. Параметр useShadow и параметры general data-атрибутами не задаются.
aplaut.init(access_token, {
widgetsConfig: {
general: { enableReply: true },
reviews: { baseSort: "rating:desc", reviewsPerPage: 5 },
},
});
Общие для страницы
Раздел widgetsConfig.general. В личном кабинете: Виджеты → Поведение → Общие для страницы.
| Параметр | Тип | По умолчанию | Описание | В личном кабинете |
|---|---|---|---|---|
authStrategy | otp, jwt | не задан | Стратегия аутентификации автора отзыва, вопроса и ответа. Без значения аутентификация не запрашивается. На странице меняется методом aplaut.setAuthStrategy | — |
enableReply | boolean | false | Показывать ответы на отзывы. Кнопку Ответить задаёт параметр commentingVisibility | Показывать ответы на отзывы |
enableReviewsSummary | boolean | false | Блок AI-сводки внутри виджета отзывов. На отдельный виджет AI-сводки не влияет | AI-сводка в списке отзывов |
enableJsonLd | boolean | false | Разметка JSON-LD: Product, AggregateRating и Review для отзывов текущей страницы, FAQPage для вопросов. Выводится, только если у товара есть отзывы или вопросы | Разметка JSON-LD |
isHashRoutingDisabled | boolean | false | Виджеты не меняют адрес страницы: hash формы #/mps/reviews/new… и параметры галереи ap-gallery-id, ap-review-id, ap-media-id отключены. Форма открывается кнопкой или aplaut.showReviewForm() | Отключить hash-роутинг |
isModalHistoryIgnored | boolean | false | Открытие модальных окон не добавляет запись в историю браузера | Игнорировать историю модальных окон |
Параметры всех виджетов
| Параметр | Тип | По умолчанию | Описание | Data-атрибут | В личном кабинете |
|---|---|---|---|---|---|
convertToInlineSvg | boolean | false | Иконки, которых нет во встроенном наборе, виджет скачивает с get.apltcdn.com запросом fetch и встраивает в разметку как SVG, вместо ссылки на картинку. Нужно, если CSP запрещает этот хост в img-src, или для цвета через currentColor. Информер не поддерживает | data-convert-to-inline-svg | Конвертировать иконки в inline SVG |
useShadow | boolean | true | Виджет изолирует стили в Shadow DOM. Задаётся на тип виджета целиком, у двух экземпляров одного виджета значение одно. Информер Shadow DOM не использует | — | Изоляция стилей (Shadow DOM) |
Отзывы
Раздел widgetsConfig.reviews, тег ap-reviews. Виджет отзывов сам создаёт на странице одну форму отзыва, общую для всех виджетов отзывов. Форма берёт настройки из раздела review_form, а не из атрибутов виджета отзывов.
| Параметр | Тип | По умолчанию | Описание | Data-атрибут | В личном кабинете |
|---|---|---|---|---|---|
supplementPosition | left, right, top | left | Где блок с рейтингом и фильтрами стоит относительно списка | data-supplement-position | Позиция дополнительного контента |
reviewsPerPage | number | 10 | Отзывов на странице списка | data-reviews-per-page | Отзывов на странице |
baseSort | helpfulness:desc, created_at:desc, created_at:asc, rating:desc, rating:asc | helpfulness:desc | Сортировка при загрузке | data-base-sort | Сортировка по умолчанию |
modalZIndex | number | 10000 | z-index полноэкранной галереи и окон ответа | data-modal-z-index | Z-index модальных окон |
videoProvider | kinescope, mux | kinescope | Провайдер видео в отзывах | data-video-provider | Провайдер видео |
summaryKeyPointsLimit | number | все тезисы | Ключевых тезисов в блоке AI-сводки | data-summary-key-points-limit | Лимит ключевых тезисов |
mediaReviewDesktopSize | number, px | 144 | Размер превью в ленте фото и видео над списком отзывов на десктопе | data-media-review-desktop-size | Размер медиа в отзыве — десктоп |
mediaReviewMobileSize | number, px | как у десктопа | То же на мобильных | data-media-review-mobile-size | Размер медиа в отзыве — мобильные |
mediaGalleryDesktopSize | number, px | 144 | Размер фото и видео внутри карточки отзыва на десктопе | data-media-gallery-desktop-size | Размер плитки галереи — десктоп |
mediaGalleryMobileSize | number, px | как у десктопа | То же на мобильных | data-media-gallery-mobile-size | Размер плитки галереи — мобильные |
isBackgroundClean | boolean | false | true убирает подложку и внутренние отступы у блоков виджета | data-is-background-clean | Чистый фон |
isReplyAuthorNameRequired | boolean | true | Имя автора в ответе на отзыв обязательно. При false имя можно не указывать, и в форме ответа появляется переключатель анонимности | data-is-reply-author-name-required | — |
privacyLink | string, URL | не задан | Ссылка на правила обработки персональных данных в форме ответа на отзыв | data-privacy-link | Ссылка на правила ПД |
termsAgreementRequired | boolean | false | Флажок согласия с правилами в форме ответа, без которого ответ не отправляется | data-terms-agreement-required | Требовать согласие с правилами ПД |
termsAgreementConfirmed | boolean | false | Флажок согласия отмечен заранее. Действует при termsAgreementRequired: true | data-terms-agreement-confirmed | Согласие с правилами ПД по умолчанию |
verifyPurchaseState | boolean | false | Формы отзыва, вопроса и ответа открываются только при переданном номере заказа. Без номера вместо Написать отзыв показывается Добавить в корзину. Запрет на открытие форм действует только из widgetsConfig, атрибут меняет лишь кнопку | data-verify-purchase-state | — |
productPrice | string | — | Цена в карточке товара полноэкранной галереи. Выводится как есть | data-product-price | — |
enableSyndicationSourceLink | boolean | false | Название источника в отзыве из агрегации становится ссылкой на исходный товар | data-enable-syndication-source-link | — |
originalProductUrlTransforms | object | — | Правила замены ссылок на исходные товары, см. ниже | data-original-product-url-transforms | — |
Правила для ссылок на исходные товары
Параметр originalProductUrlTransforms задаёт правила для отзывов, полученных агрегацией. Ключ — идентификатор источника в нижнем регистре, например www.mvideo.ru или ozon.ru: он должен точно совпадать с источником отзыва.
| Параметр | Тип | Описание |
|---|---|---|
remove_syndication_source | boolean | Скрыть источник в отзывах из этого источника |
replacements | массив | Правила замены: pattern — регулярное выражение без флагов, заменяется первое совпадение; replacement — строка замены |
originalProductUrlTransforms: {
"www.mvideo.ru": {
replacements: [{ pattern: "rbt\\.ru", replacement: "mvideo.ru" }],
},
"ozon.ru": { remove_syndication_source: true },
}
Правила применяются сверху вниз. Ссылка, ставшая пустой строкой, выводится текстом. Невалидное регулярное выражение приводит к ошибке загрузки списка отзывов. Обратная косая черта удваивается и в JS-строке, и в JSON внутри data-атрибута. Ссылки кликабельны только при enableSyndicationSourceLink: true.
Форма отзыва
Раздел widgetsConfig.review_form, тег ap-reviews-form. Отдельный тег нужен, только если на странице нет виджета отзывов. Отдельная форма открывается по адресу с hash #/mps/reviews/new/<ID_ТОВАРА>, где ID совпадает с data-context-id формы. Форма внутри виджета отзывов открывается по hash #/mps/reviews/new без ID.
| Параметр | Тип | По умолчанию | Описание | Data-атрибут | В личном кабинете |
|---|---|---|---|---|---|
contextId | string | — | ID товара, на который пишется отзыв | data-context-id | — |
modalPersistent | boolean | false | Форма занимает весь экран, её нельзя закрыть кликом вне окна или свайпом. Кнопка Готово на последнем шаге появляется, только если в адресе страницы есть redirect_uri, и ведёт на него | data-modal-persistent | — |
modalZIndex | number | 10000 | z-index окна формы | data-modal-z-index | Z-index модальных окон |
phoneEnabled | boolean | false | Поле телефона в форме | data-phone-enabled | — |
phoneRequired | boolean | false | Телефон обязателен. Действует при phoneEnabled: true | data-phone-required | — |
privacyLink | string, URL | # | Ссылка на правила обработки персональных данных | data-privacy-link | Ссылка на правила ПД |
termsAgreementRequired | boolean | false | Флажок согласия с правилами, без которого отзыв не отправляется | data-terms-agreement-required | Требовать согласие с правилами ПД |
termsAgreementConfirmed | boolean | false | Флажок согласия отмечен заранее | data-terms-agreement-confirmed | Согласие с правилами ПД по умолчанию |
Поле email показывается и становится обязательным по схеме веб-формы в разделе Настройки → Веб-формы. При authStrategy: "otp" поле email показывается и обязательно всегда, при authStrategy: "jwt" полей автора в форме нет. Черновик отзыва хранится в браузере покупателя час после последней правки, метод aplaut.clearFormData() его очищает.
Вопросы и ответы
Раздел widgetsConfig.questions_answers, тег ap-questions-answers.
| Параметр | Тип | По умолчанию | Описание | Data-атрибут | В личном кабинете |
|---|---|---|---|---|---|
isBackgroundClean | boolean | false | true убирает подложку и внутренние отступы у блоков виджета | data-is-background-clean | Чистый фон |
privacyLink | string, URL | не задан | Ссылка на правила в формах вопроса и ответа | data-privacy-link | Ссылка на правила ПД |
termsAgreementRequired | boolean | false | Флажок согласия в формах обязателен | data-terms-agreement-required | Требовать согласие с правилами ПД |
termsAgreementConfirmed | boolean | false | Флажок согласия отмечен заранее | data-terms-agreement-confirmed | Согласие с правилами ПД по умолчанию |
modalZIndex | number | 10000 | z-index форм вопроса и ответа | data-modal-z-index | Z-index модальных окон |
videoProvider | kinescope, mux | kinescope | Провайдер видео во вложениях | data-video-provider | Провайдер видео |
Галерея
Раздел widgetsConfig.gallery, тег ap-reviews-gallery. Показывает фото и видео из отзывов товара без списка отзывов.
| Параметр | Тип | По умолчанию | Описание | Data-атрибут | В личном кабинете |
|---|---|---|---|---|---|
reviewsPerPage | number | 10 | Сколько отзывов подгружается для карточек в полноэкранном режиме | data-reviews-per-page | Отзывов на странице |
baseSort | как у отзывов | helpfulness:desc | Сортировка отзывов в полноэкранном режиме | data-base-sort | Сортировка по умолчанию |
modalZIndex | number | 10000 | z-index полноэкранного режима | data-modal-z-index | Z-index модальных окон |
videoProvider | kinescope, mux | kinescope | Провайдер видео в полноэкранном режиме. Плитка строит превью только для kinescope | data-video-provider | Провайдер видео |
productPrice | string | — | Цена в карточке товара | data-product-price | — |
enableSyndicationSourceLink | boolean | false | Ссылка на исходный товар в отзыве из агрегации | data-enable-syndication-source-link | — |
originalProductUrlTransforms | object | — | Как у виджета отзывов | data-original-product-url-transforms | — |
Открытое медиа добавляет в адрес параметры ap-gallery-id, ap-review-id и ap-media-id. Ссылка с ними открывает галерею на том же слайде.
AI-сводка
Раздел widgetsConfig.summary, тег ap-reviews-summary. Виджет запрашивает сводку по товару сам и не зависит от enableReviewsSummary. Если скрыты и текст, и тезисы, блок не показывается.
| Параметр | Тип | По умолчанию | Описание | Data-атрибут | В личном кабинете |
|---|---|---|---|---|---|
summaryKeyPointsLimit | number | все тезисы | Сколько ключевых тезисов показывать | data-summary-key-points-limit | Лимит ключевых тезисов |
isBackgroundClean | boolean | false | true убирает подложку и внутренние отступы блока | data-is-background-clean | Чистый фон |
Информер
Раздел widgetsConfig.inline_informer, тег ap-informer. В разделе Виджеты тот же виджет доступен под названиями Информер и Рейтинг строкой. Информер не показывается, если у товара в Aplaut нет рейтинга. Информеры на странице запрашивают рейтинги пачками по 30 товаров.
| Параметр | Тип | По умолчанию | Описание | Data-атрибут | В личном кабинете |
|---|---|---|---|---|---|
scrollTargetId | string | — | id элемента без #, к которому страница плавно прокручивается по клику | data-scroll-target-id | ID блока для прокрутки по клику |
shouldHideIfZero | boolean | false | Скрыть информер, если рейтинг после округления равен 0,0 | data-should-hide-if-zero | Скрывать без отзывов |
background | boolean | true | Подложка информера | data-background | Подложка |
countText | expanded, compact | expanded | Формат числа отзывов | data-count-text | Текст с числом отзывов |
ratingSize | expanded, compact | expanded | Формат рейтинга. Любое значение, кроме expanded, считается compact | data-rating-size | Размер рейтинга |
Сторис
Раздел widgetsConfig.stories, тег ap-stories с обязательным data-context-id. Показывает фото и видео из отзывов товара лентой превью. Просмотренные истории стоят после непросмотренных, отметка о просмотре хранится в браузере покупателя. В разделе Виджеты сторис нет.
| Параметр | Тип | По умолчанию | Описание | Data-атрибут |
|---|---|---|---|---|
mediaGalleryDesktopSize | number, px | 144 | Ширина и высота превью | data-media-gallery-desktop-size |
modalZIndex | number | 10000 | z-index полноэкранного просмотра и форм | data-modal-z-index |
videoProvider | kinescope, mux | kinescope | Провайдер видео в полноэкранном просмотре. Превью строятся только для kinescope | data-video-provider |
privacyLink | string, URL | не задан | Ссылка на правила в форме ответа | data-privacy-link |
termsAgreementRequired | boolean | false | Флажок согласия в форме ответа обязателен | data-terms-agreement-required |
termsAgreementConfirmed | boolean | false | Флажок согласия отмечен заранее | data-terms-agreement-confirmed |
Приглашение оставить отзыв
Раздел widgetsConfig.products_review_invite, тег ap-product-review-invite. На десктопе окно стоит поверх страницы с z-index 99999. На мобильных устройствах окно открывается снизу и показывает до четырёх товаров, параметры положения и productListLimit на него не влияют.
| Параметр | Тип | По умолчанию | Описание | Data-атрибут | В личном кабинете |
|---|---|---|---|---|---|
positionX | left, center, right | center | Положение окна по горизонтали на десктопе | data-position-x | Положение по горизонтали |
positionY | top, bottom | bottom | Положение окна по вертикали на десктопе. Любое значение, кроме top, ставит окно вниз | data-position-y | Положение по вертикали |
productListLimit | number | 1 | Товаров в окне на десктопе. Общее число товаров выводится внизу окна | data-product-list-limit | Товаров в приглашении |
delaySec | number | 0 | Задержка показа при загрузке страницы, если окно уже включали и покупатель его не закрывал, в секундах | data-delay-sec | Задержка показа, сек |
displayIntervalHours | number | не задан | Через сколько часов после последнего показа закрытое окно появляется снова. 0 и пустое значение отключают повторный показ | data-display-interval-hours | Интервал повторного показа, ч |
Видимость элементов
Параметры видимости принимают visible или hidden и задаются в разделе нужного виджета или атрибутом data-…-visibility. По умолчанию всё видно, кроме счётчика символов.
Значение вида hidden:(max-width: 600px) скрывает элемент, пока выполняется media query, и реагирует на изменение размера окна. Исключения — galleryVisibility и addToCartVisibility: они понимают только точное значение hidden.
| Параметр | Data-атрибут | Элемент | Виджеты | В личном кабинете |
|---|---|---|---|---|
headTitleVisibility | data-head-title-visibility | Заголовок виджета | Отзывы, Вопросы и ответы | Шапка и навигация → Заголовок виджета |
ugcContentToggleVisibility | data-ugc-content-toggle-visibility | Переключатель «все отзывы / этот товар» | Отзывы, Вопросы и ответы | Шапка и навигация → Переключатель «все отзывы / этот товар» |
sortVisibility | data-sort-visibility | Сортировка | Отзывы | Шапка и навигация → Сортировка |
filterVisibility | data-filter-visibility | Фильтр | Отзывы | Шапка и навигация → Фильтр |
searchVisibility | data-search-visibility | Поиск | Отзывы, Вопросы и ответы | Шапка и навигация → Поиск |
buttonIconVisibility | data-button-icon-visibility | Иконки в кнопках | все, кроме Информера, AI-сводки и Приглашения | Шапка и навигация → Иконки в кнопках |
authorAvatarVisibility | data-author-avatar-visibility | Аватар автора | Отзывы, Вопросы и ответы, Галерея | Карточка отзыва → Аватар автора |
replyAuthorAvatarVisibility | data-reply-author-avatar-visibility | Аватар автора ответа | Отзывы, Вопросы и ответы, Галерея, Сторис | Карточка отзыва → Аватар автора ответа |
commentingVisibility | data-commenting-visibility | Кнопка Ответить | Отзывы, Вопросы и ответы, Галерея, Сторис | Карточка отзыва → Ответы на отзыв |
reportVisibility | data-report-visibility | Кнопка жалобы | Отзывы, Вопросы и ответы, Галерея, Сторис | Карточка отзыва → Жалоба |
syndicationSourceVisibility | data-syndication-source-visibility | Источник отзыва из агрегации | Отзывы, Галерея | Карточка отзыва → Источник синдикации |
supplierLogoVisibility | data-supplier-logo-visibility | Логотип Aplaut: в блоке рейтинга виджета отзывов и в виджете AI-сводки | Отзывы, AI-сводка | Карточка отзыва → Логотип в сводке |
summaryTitleVisibility | data-summary-title-visibility | Заголовок AI-сводки | Отзывы, AI-сводка | AI-сводка → Заголовок |
summaryTextVisibility | data-summary-text-visibility | Текст AI-сводки | Отзывы, AI-сводка | AI-сводка → Текст сводки |
summaryKeyPointsVisibility | data-summary-key-points-visibility | Ключевые тезисы | Отзывы, AI-сводка | AI-сводка → Ключевые тезисы |
galleryVisibility | data-gallery-visibility | Лента превью фото и видео над списком отзывов | Отзывы | Галерея → Блок галереи |
addToCartVisibility | data-add-to-cart-visibility | Кнопка «В корзину» в полноэкранной галерее. Видна, только когда зарегистрирован aplaut.manageOrder({ addToCart }) | Отзывы, Галерея, Сторис | Галерея → Кнопка «В корзину» |
anonymizationVisibility | data-anonymization-visibility | Переключатель анонимности в форме отзыва. В ответе на отзыв — только при isReplyAuthorNameRequired: false | Отзывы, Форма отзыва | Форма отзыва → Переключатель анонимности |
mediaInputVisibility | data-media-input-visibility | Загрузка фото и видео | Форма отзыва | Форма отзыва → Загрузка фото и видео |
reviewsCharacterCountVisibility | data-reviews-character-count-visibility | Счётчик символов. По умолчанию hidden | Форма отзыва | Форма отзыва → Счётчик символов |
feedbackBlockVisibility | data-feedback-block-visibility | Блок оценки формы на шаге после отправки | Форма отзыва | Форма отзыва → Блок обратной связи после отправки |
Смотрите также: как настроить виджеты в личном кабинете, справочник темы оформления, справочник JS API виджетов.