Открытие формы виджета

Читать 5

Общая информация

Описанный в статье функционал пригодится тем, кто хочет более гибко настроить показ формы виджетов. 

Используя функцию открытия формы виджета Вы сможете:

  • настроить показ формы по каким-либо событиям на сайте (скролл, наведение курсора на определенную область, открытие/закрытие какой-либо другой формы и так далее);
  • привязать открытие формы к своим встроенным кнопкам;
  • с помощью продвинутых настроек мультикнопки открывать избранные формы виджетов, если загружено более одного виджета определенного типа.

Открытие формы определённого типа виджета

Показывает форму виджета или одного из виджетов мультикнопки, которые подошли под настройки условий и графика показа для текущий страницы.

Сигнатура функции

window.ct('modules', 'widgets', 'openExternal', widgetType, callback);

widgetType - определяет какой тип виджета показать, принимает одно из значений:

callback - функция обратного вызова, которая будет вызвана после успешного открытия кнопки или ошибки вида

function (result) {}

result - это объект вида:

{
error: <boolean>
errorCode: <string|null>
errorMessage: <string|null>
}
  • error - true если была ошибки, false если форма успешно показалась
  • errorCode - если error - true код ошибки иначе null
  • errorMessage - если error - true сообщение ошибки иначе null

Возможные ошибки:

  • OPENED - на странице уже открыта форма виджета
  • NOT_FOUND - вызываемая форма виджета, который не показан на странице или не существует

Открытие формы определённого виджета (с помощью ключа виджета)

Вызывает показ формы одного из виджетов мультикнопки, которые подошли под настройки условий и графика показа для текущий страницы.

Данный функционал доступен только при использовании продвинутых настроек мультикнопки. Для подключения обратитесь к вашему персональному менеджеру. Подробности в статье


Как только включены продвинутые настройки мультикнопки, в настройках виджетов с формой появится поле Ключ виджета, с помощью которого можно будет вызвать открытие определенной формы виджета.


Поле ввода ключа редактируемое, по умолчанию подставляется значение, равное типу виджета.

Сигнатура функции

window.ct('modules', 'widgets', 'openExternal', widgetKey, callback);

widgetKey определяет какую форму виджета показать, принимает значение, заданное в настройках виджета.

callback функция обратного вызова, которая будет вызвана после успешного открытия кнопки или ошибки вида

function (result) {}

result это объект вида:

{
error: <boolean>
errorCode: <string|null>
errorMessage: <string|null>
}
  • error - true если была ошибки, false если форма успешно показалась
  • errorCode - если error - true код ошибки иначе null
  • errorMessage - если error - true сообщение ошибки иначе null

Возможные ошибки:

  • OPENED - на странице уже открыта форма виджета
  • NOT_FOUND - вызываемая форма виджета, который не показан на странице или не существует

Примеры использования открытия формы

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

window.ct('modules', 'widgets', 'openExternal', 'callback');
   

Ниже представлен пример открытия формы виджета обратного звонка при клике на кнопку "Перезвоните мне". Для этого можно использовать событие "onclick".

Тогда HTML код данного элемента будет иметь вид:

<input type="button" value="Перезвоните мне" onclick="window.ct('modules','widgets','openExternal','callback')">

В случае, если на вашем сайте несколько виджетов одного типа, например обратные звонки для записи на разные услуги, то вызов разных форм будет связан с ключом виджета и  будет выглядеть так:

  • виджет 1:
window.ct('modules', 'widgets', 'openExternal', 'callback_1');
  • виджет 2:
window.ct('modules', 'widgets', 'openExternal', 'callback_2');

Если необходимо добавить открытие определенной формы в HTML код, то вызов можно оформить так:

<input type="button" value="Записаться на осмотр!" onclick="window.ct('modules','widgets','openExternal','callback_1')">
<input type="button" value="Записаться на консультацию!" onclick="window.ct('modules','widgets','openExternal','callback_2')">