Если у вас еще нет amoCRM
Создать прямо сейчасВ маркетплейсе интеграций при клике на виджет открывается модальное окно с настройками. При открытии этого окна система отрисует поля, которые перечислены в разделе settings файла manifest.json.
Если вы хотите кастомизировать внешний вид данного окна, для этого есть колбэк settings.
define(['jquery'], function ($) { return function () { this.callbacks = { settings: function () { // ... } }; }; });
Публичные виджеты не должны никак скрывать/влиять на рейтинг и отзывы виджета.
Для всех виджетов, которые загружены в интеграции, запрещены виртуальные клики на кнопку установить.
Также для того, чтобы виджет мог установиться в аккаунт пользователю в нем должен обязательно присутствовать метод onSave, который должен возвращать либо true, либо объект promise, если при сохранении вам нужно сделать какой-то запрос к себе на сервер.
Данный метод вызывается при щелчке пользователя на кнопке “Установить/Сохранить” в настройках виджета. Можно использовать для отправки введенных в форму данных и смены статуса виджета. Так же этот метод срабатывает при отключении виджета.
Собственная страница настроек
Виджет может иметь собственную страницу настроек (так же как и собственный пункт в левом меню), выглядеть это будет так:
Для этого необходимо в manifest.json указать локейшн “advanced_settings”:
{ ... "locations": [ "advanced_settings" ], "advanced": { "title": "advanced.title" }, ... }
После установки виджета с таким локейшном в меню раздела “Настройки” появится новый пункт с названием из advanced.title, справа от названия виджета будет указано его название.
При клике пользователя по этому пункту меню будет вызван колбэк виджета “advancedSettings”, в котором виджет может отрисовать все необходимые элементы своих настроек на страницу в элемент с ID “list_page_holder”. Пример кода:
this.callbacks = { advancedSettings: function () { $('#list_page_holder').html('Настройки виджета здесь'); } }