Документация для разработчиков
Темная тема

Передача данных между слайдерами

Между слайдерами можно передавать произвольные данные. Для отправки данных используются методы postMessage, postMessageAll и postMessageTop. Для приема сообщений - событие onMessage.

Событие SidePanel.Slider:onMessage

Вызывается, когда в слайдер приходит сообщение из другого слайдера. В первый аргумент обработчика приходит объект события типа BX.SidePanel.MessageEvent

Методы отправки данных

Метод Описание С версии
BX.SidePanel.Instance.postMessage(
   source,
   eventId,
   data
)
Отсылает сообщение (данные) в предыдущий слайдер и родительскую страницу.
BX.SidePanel.Instance.postMessageAll(
   source,
   eventId,
   data
)
Отсылает сообщение (данные) во все слайдеры и в родительскую страницу.
BX.SidePanel.Instance.postMessageTop(
   source,
   eventId,
   data
)
Отсылает сообщение (данные) только в родительскую страницу.

Параметры

Параметры Описание Тип
source Идентификатор слайдера-отправителя данных. Ссылка на слайдер (экземпляр класса BX.SidePanel.Slider) или идентификатор слайдера. В случае iframe'а может быть ссылка на окно (window).string|window|BX.SidePanel.Slider
eventId Идентификатор события. Используется для того, чтобы отличить события разных слайдеров в обработчике onMessage.string
data Данные для передачи в другой слайдер.object

Примеры

Пример передачи данных из iframe'а в предыдущий слайдер.

BX.SidePanel.Instance.postMessage(window, "my-event-id", { title: "1234" });

Пример получения данных.

BX.SidePanel.Instance.open("/mypage.php", {
	events: {
		onMessage: function(event) {
			console.log(
				"onMessage",
				"sender", event.getSender().getUrl(),
				"slider", event.getSlider().getUrl(),
				"data", event.getData()
			);
		}
	}
});

Класс

Класс Описание С версии
Класс BX.SidePanel.MessageEvent Класс представляет сообщение, которое слайдеры посылают друг другу.



Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

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

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
0
Сазонов Станислав
Для того, чтобы добавить свой текст, фон и цвет к кнопки закрытия слайдера Результат
в вызове слайдера укажите
Код
label: {
   text: 'Test',
   color: '#000',
   bgColor: 'rgba(123,213,0,0.95)'
} 
пример полного вызова
Код
BX.SidePanel.Instance.open(url,
 {
     allowChangeHistory: false,
     cacheable: false,
     width: 700,
     label: {
               text: 'Test',
               color: '#000',
               bgColor: 'rgba(123,213,0,0.95)'
     }     
});
© «Битрикс», 2001-2021, «1С-Битрикс», 2021
Наверх