BX.CDialog в административном и смешанном UI: параметры окна и жизненный цикл после Close
Минимальная связка ресурсов
На страницах, где уже подтягивается ядровой бандл, достаточно инициировать пакет через серверную обёртку CUtil::InitJSCore с ключом связанных окон перед выводом любого содержания сценария.
Варианты содержания
Для вторичного приложения задают связку заголовка и относительного маршрута с серверными данными дополнений. Для уведомлений передают готовое HTML строкой без отдельного HTTP-перехода — проще поддерживать в контуре уже загруженного редактируемого блока.
Кнопки и повторное использование
Стандартные преднастроенные кнопки соединяют с собственными экземплярами сохранённых функций платформы. Произвольный обработчик получает связь на родительский экземпляр из замыкания, чтобы закрывать узел решённо после бизнес-операций.
Вторичное административное оформление
Набор дополнений к стилям применяют для близости к палитрам консоли, тем не менее поведение дублирует описанную выше схему.
Открыть снова и опустошить содержание
Вызов Close не удаляет дерево объектов немедленно — окно переходит в состояние сокрытия. Допустимо переопределить кнопочный массив, заменить внутренний HTML текстом или исключительно высвобождать связанную подсеть DOM при утечке тяжёлых редакторов.
var dlg = new BX.CDialog({
title: 'Предпросмотр',
content_url: '/local/admin/import_probe.php',
draggable: true,
resizable: false,
buttons: [BX.CDialog.btnSave, BX.CDialog.btnCancel]
});
BX.addCustomEvent(dlg, 'onWindowRegister', function(){ console.debug(this.GetContent()); });
dlg.Show();В публичном магазине с уже включёнными сторонними галереями чаще сохраняют единство отображений той же технологией, а ядровую модальность оставляют для технических задач поддержки пользователей с фирменной админкой.
Не хотите копаться сами?
Починю за 1-3 дня. Без предоплаты — оплата по результату.
15+ лет опыта с 1С-Битрикс · Без предоплаты · 7 дней гарантии