Поиск товаров для виджетов

  1. По текстовому запросу
  2. По запросу из HTML-элемента
  3. По ID товара на Маркете
  4. По изображению
  5. По изображению из элемента img

По текстовому запросу

Задайте запрос в параметре searchText, чтобы в виджете показывались товары, найденные по этому запросу. Чтобы нашлась конкретная модель, укажите в запросе ее основные параметры. Например: searchText: "Sony PlayStation 4 Slim 500 ГБ". Если модель не найдется, загрузятся результаты поиска Маркета для похожей модели.

В виджете можно показывать только те товары, названия которых содержат все слова из вашего запроса. Для этого добавьте параметр searchMatch: 'exact'.

Если товар не найдется (например, он уже не продается на Маркете), виджет не будет отображаться.

По запросу из HTML-элемента

Выберите селектор для элемента, из которого взять поисковый запрос и укажите его в параметре в searchSelector. Чтобы задать отдельный атрибут, добавьте его в searchSelectorAttr. В виджет загрузятся товары, найденные по этому запросу. Если на странице несколько подходящих элементов, используется первый.

Совет. Чтобы в виджет с предложениями попал нужный товар, используйте элемент только с названием товара и его параметрами. Если в запрос попадут другие слова, результат поиска может быть неточным. Если на странице нет подходящего элемента, вы можете добавить скрытый элемент (с атрибутом style="display: none;").

В виджете можно показывать только те товары, названия которых содержат все слова из вашего запроса. Для этого добавьте параметр searchMatch: 'exact'.

Если товар не найдется (например, он уже не продается на Маркете), виджет не будет отображаться.

Примеры селекторов и запросов
Тег на сайте Параметр виджета Какой поисковый запрос получится

Заголовок на странице или его часть:

<h1>Обзор смартфона <span>Яндекс.Телефон</span></h1>
searchSelector: "h1"

Обзор смартфона Яндекс.Телефон

searchSelector: "h1 span"

Яндекс.Телефон

Название страницы:

<title>Обзор смартфона Яндекс.Телефон</title>
searchSelector: "title"

Обзор смартфона Яндекс.Телефон

Любой тег с атрибутом id или name. Текст для запроса в самом теге:

<div id="model_name">Яндекс.Телефон</div>
searchSelector: "div#model_name"

Яндекс.Телефон

Любой тег с любым атрибутом. Текст для запроса в самом теге:

<span itemprop="title">Яндекс.Телефон</span>
searchSelector: "span[itemprop='title']"

Яндекс.Телефон

Любой тег с любым атрибутом. Текст для запроса в атрибуте:

<meta property="og:title" content="Яндекс.Телефон"/>
searchSelector: "meta[property='og:title']",
searchSelectorAttr: "content"
Яндекс.Телефон

По ID товара на Маркете

В виджете можно показывать товары, найденные по их идентификаторам. Укажите идентификаторы в параметре searchSelector через запятую. Например: searchModelIds: [1971204201, 177547282].

Внимание. Для виджетов Где купить товар, рекомендательных виджетов и виджетов с информацией о товарах можно указать только один идентификатор.
Как узнать идентификатор товара

Откройте карточку товара на Маркете и посмотрите на ее URL. Идентификатор — это набор цифр после «.../product/». Например: https://market.yandex.ru/product/177547282.

По изображению

В виджете можно показывать товары, найденные по изображению. Укажите ссылку на изображение в параметре searchImageUrl. Если товар не получится найти, загрузятся результаты поиска Маркета.

Внимание. Поиск по изображению недоступен для рекомендательных виджетов.

По изображению из элемента img

Укажите в параметре searchImageSelector селектор для элемента, который содержит ссылку на изображение. Она должна быть в атрибуте src.

Внимание. Поиск по изображению недоступен для рекомендательных виджетов.
Примеры
Элемент на сайте Что указать
<img id="ProductPhoto" src="http://shop.ru/images/yandex-phone.jpg" alt="Яндекс.Телефон фото">

Конструктор:

Селектор элемента img — #ProductPhoto

Код:

searchImageSelector: "#ProductPhoto"
<div id="ProductPhoto">
  <a href="http://shop.ru/images/yandex-phone-big.jpg">
    <img src="https://shop-example.ru/images/yandex-phone.jpg" alt="Яндекс.Телефон фото">
  </a>
</div>

Конструктор:

Селектор элемента img — #ProductPhoto > a > img

Код:

searchImageSelector: "#ProductPhoto > a > img"
Элемент на сайте Что указать
<img id="ProductPhoto" src="http://shop.ru/images/yandex-phone.jpg" alt="Яндекс.Телефон фото">
searchImageSelector: "#ProductPhoto"
<div id="ProductPhoto">
  <a href="http://shop.ru/images/yandex-phone-big.jpg">
    <img src="https://shop-example.ru/images/yandex-phone.jpg" alt="Яндекс.Телефон фото">
  </a>
</div>
searchImageSelector: "#ProductPhoto > a > img"