Как подключить виджет рейтинга на сайт агентства
Виджет Millhouse — баннер для сайта агентства недвижимости. Он показывает место агентства в рейтинге или надпись «Мы на Millhouse» и ведёт на профиль агентства в новой вкладке. Картинка выбирается автоматически при загрузке страницы сайта.
Программисту: сначала получите код агентства
Запросите готовый код скрипта у владельца вашего агентства на Millhouse. Блок с настройками и персональным кодом доступен только ему в кабинете агентства. Примеры в этой инструкции содержат AGENCY_ID и RATING_ID и не являются готовым кодом вашего агентства.
1. Как владельцу создать виджет
- Войдите в Millhouse под учётной записью владельца агентства.
- Откройте кабинет агентства, раздел «Обзор», блок «Виджет для сайта агентства».
- Выберите маленький или большой рейтинг либо баннер «Мы на Millhouse». Проверьте предпросмотр. Страна подставится автоматически из профиля агентства.
- Нажмите «Получить код виджета». Millhouse зарегистрирует виджет и добавит полученный ID регистрации в код. Рейтинг запрашивается по этому ID, а не по ID профиля агентства.
- Нажмите «Скопировать код» и передайте код программисту вместе со ссылкой на эту инструкцию. Если браузер не разрешает копирование, выделенный код можно скопировать вручную.
ID агентства и ID регистрации подставляются в код автоматически. У модераторов, риэлторов и пользователей без агентства этот блок не отображается. Если вы программист без нужной роли, обратитесь к владельцу агентства за кодом.
Получать новый код для смены размера или режима баннера не требуется: измените соответствующие настройки в уже полученном коде. Сохраните оба ID без изменений. Сайт агентства использует готовый ID регистрации для запроса рейтинга; регистрировать виджет при каждом открытии страницы сайта не нужно.
2. Как подключить виджет на сайте
- Получите полный код от владельца агентства. Проверьте, что он выдан для нужного агентства и рабочего домена Millhouse.
- Вставьте код в HTML внутри body именно в том месте, где должен появиться баннер: например, в подвале сайта или на странице об агентстве.
- В CMS используйте блок, в котором разрешены HTML и JavaScript. Визуальный текстовый редактор может удалить тег script или показать его как текст.
- Опубликуйте страницу и откройте её в браузере. Проверьте картинку и переход на профиль агентства.
Не нужно скачивать картинки и вручную выбирать медаль. Виджет сам получает актуальное место. Не добавляйте type="module" и не меняйте адрес скрипта на адрес своего сайта. Для нескольких мест размещения добавьте отдельные контейнеры с настройками. Один общий скрипт найдёт их все; повторное подключение не создаёт дубликаты баннеров.
Пример маленького рейтингового баннера
<div
data-millhouse-widget
data-agency-id="AGENCY_ID"
data-rating-id="RATING_ID"
data-locale="by"
data-size="small"
data-variant="rating"
></div>
<script src="https://millhouse.by/widgets/agency.js" defer></script>
Пример большого рейтингового баннера
<div
data-millhouse-widget
data-agency-id="AGENCY_ID"
data-rating-id="RATING_ID"
data-locale="by"
data-size="big"
data-variant="rating"
></div>
<script src="https://millhouse.by/widgets/agency.js" defer></script>
Пример баннера «Мы на Millhouse»
<div
data-millhouse-widget
data-agency-id="AGENCY_ID"
data-rating-id="RATING_ID"
data-locale="by"
data-size="small"
data-variant="brand"
></div>
<script src="https://millhouse.by/widgets/agency.js" defer></script>
Вместо примеров с AGENCY_ID и RATING_ID используйте персональный код, полученный от владельца агентства. Картинка рейтингового баннера зависит от места агентства.
3. Все настройки подключения
| Параметр | Значения | Назначение |
|---|---|---|
| src | Адрес /widgets/agency.js на домене Millhouse | Обязателен. Используйте полный адрес из выданного кода: относительный /widgets/agency.js на сайте агентства будет указывать на сайт агентства. |
| data-millhouse-widget | Атрибут без значения на контейнере | Обозначает место для баннера. Настройки data-agency-id, data-rating-id, data-locale, data-size и data-variant размещаются на этом же элементе. Скрипт находит контейнер независимо от своего положения на странице. |
| data-agency-id | ID вашего агентства | Обязателен для ссылки на профиль агентства. Уже заполнен в коде из кабинета. Не заменяйте ID названием, адресом сайта или ID регистрации виджета. |
| data-rating-id | ID регистрации виджета | Обязателен для запроса рейтинга. Получается после нажатия «Получить код виджета» владельцем агентства и подставляется автоматически. Это отдельный ID, его нельзя заменять ID профиля агентства. Для обоих ID допускаются латинские буквы, цифры, дефисы и подчёркивания, до 128 символов. |
| data-locale | by, ru, kz | Страна профиля: Беларусь, Россия или Казахстан. В коде из кабинета подставляется автоматически из адреса агентства. Если атрибут не указан, используется by. Параметр задаёт страну в ссылке на профиль, а не язык надписи на готовой картинке. |
| data-size | small, big | Размер рейтингового баннера. small — 176 × 62 px, big — 398 × 398 px. По умолчанию small. В режиме brand всегда используется маленький баннер. |
| data-variant | rating, brand | rating — баннер по текущему месту агентства; brand — «Мы на Millhouse» без рейтинга. По умолчанию rating. |
| defer | Атрибут без значения | Рекомендуется оставить: загрузка скрипта не блокирует разбор страницы. Скрипт подключается обычным тегом, без type="module". |
Без data-size и data-variant показывается маленький рейтинговый баннер. Если указать неподдерживаемую страну, размер, режим или некорректный ID, скрипт не создаст виджет. Вносите изменения в полученный код осознанно и сохраняйте ID профиля агентства и ID регистрации виджета.
4. Как выбирается картинка по рейтингу
| Место агентства | Что показывается | Размер |
|---|---|---|
| 1 | Медаль за 1-е место | Большой или маленький |
| 2 | Медаль за 2-е место | Большой или маленький |
| 3 | Медаль за 3-е место | Большой или маленький |
| 4–10 включительно | Баннер топ-10 | Большой или маленький |
| Ниже 10-го места | Мы на Millhouse | Всегда маленький |
| Место отсутствует или рейтинг недоступен | Мы на Millhouse | Всегда маленький |
Эта таблица применяется в режиме rating. В режиме brand при любом месте отображается только маленький баннер «Мы на Millhouse», даже если в коде указан большой размер. При недоступном рейтинге виджет также переходит на маленький баннер без места.
Место проверяется при загрузке страницы. Постоянного опроса рейтинга на открытой странице нет. После изменения места достаточно обновить страницу; менять код подключения не требуется.
5. Проверка после подключения
- Баннер виден на опубликованной странице и не выходит за её границы.
- Нажатие открывает профиль именно вашего агентства в новой вкладке.
- В коде нет AGENCY_ID, RATING_ID и данных другого агентства.
- Тип баннера соответствует выбранному варианту, а страна в ссылке — стране агентства.
- На телефоне картинка сохраняет пропорции и помещается в контейнер.
Загрузка виджета передаётся в Millhouse для учёта размещения. Условия и начисление бонусов определяет сервис; сам код скрипта бонусы не начисляет. Браузер может передать адрес сайта агентства без пути страницы и её параметров. Настройки приватности могут скрыть этот адрес.
6. Если баннер не отображается
Если владельцу не удалось получить код из-за ошибки сервера, подключать виджет пока рано. Сначала нужно получить полный код с ID регистрации. Текст ошибки можно передать в поддержку Millhouse. Подстановка ID профиля агентства вместо ID регистрации эту ошибку не исправит.
- Проверьте, что CMS сохранила тег script и браузер выполняет JavaScript. При подключении в приложении с динамической навигацией убедитесь, что скрипт действительно выполняется после появления блока на странице.
- Проверьте полный адрес src, оба ID и допустимые значения параметров. Используйте код, полученный от владельца.
- Для сайта по HTTPS используйте HTTPS-адрес Millhouse. Браузер может заблокировать загрузку HTTP-скрипта на защищённой странице.
- Если на сайте настроена Content Security Policy, разрешите домен Millhouse в script-src и img-src. Проверьте, что политика разрешает используемые виджетом стили элементов.
- Убедитесь, что контейнер не скрыт и имеет ненулевую ширину. Проверьте ошибки скриптов и запросов картинок в инструментах разработчика браузера.
Если вместо медали виден баннер «Мы на Millhouse», подключение работает: агентство может быть вне топ-10 или рейтинг временно недоступен. Проверьте также, что выбран режим rating.