Начало работы
Использование
Компонент bitrix:ui.sidepanel.wrapper является оберткой для вывода целевого компонента в слайдере.
Рассмотрим типовой случай. В комплексном компоненте в шаблоне edit.php подключается компонент:
$APPLICATION->IncludeComponent( 'bitrix:crm.button.edit', '', [ 'PATH_TO_BUTTON_LIST' => $arResult['PATH_TO_BUTTON_LIST'], 'PATH_TO_BUTTON_EDIT' => $arResult['PATH_TO_BUTTON_EDIT'], 'PATH_TO_BUTTON_FILL' => $arResult['PATH_TO_BUTTON_FILL'], 'PATH_TO_USER_PROFILE' => $arResult['PATH_TO_USER_PROFILE'], 'ELEMENT_ID' => $arResult['VARIABLES']['id'] ] );
Адаптируем его для поддержки вывода в слайдере:
$APPLICATION->IncludeComponent( 'bitrix:ui.sidepanel.wrapper', '', [ 'POPUP_COMPONENT_NAME' => 'bitrix:crm.button.edit', 'POPUP_COMPONENT_TEMPLATE_NAME' => '', 'POPUP_COMPONENT_PARAMS' => [ 'PATH_TO_BUTTON_LIST' => $arResult['PATH_TO_BUTTON_LIST'], 'PATH_TO_BUTTON_EDIT' => $arResult['PATH_TO_BUTTON_EDIT'], 'PATH_TO_BUTTON_FILL' => $arResult['PATH_TO_BUTTON_FILL'], 'PATH_TO_USER_PROFILE' => $arResult['PATH_TO_USER_PROFILE'], 'ELEMENT_ID' => $arResult['VARIABLES']['id'] ] ] );
Вызов целевого компонента обернули в bitrix:ui.sidepanel.wrapper
:
- имя компонента передано в параметре
POPUP_COMPONENT_NAME
; - имя шаблона передано в параметре
POPUP_COMPONENT_TEMPLATE_NAME
; - параметры компонента переданы в параметре
POPUP_COMPONENT_PARAMS
.
Компонент сам поймет, что его открыли в слайдере и выведет оформление. Иначе отобразится обычный вывод на странице.
Особенности
Если детальная страница сохраняется в слайдере, то редирект должен всегда вести на детальную страницу.
При этом необходимо добавить в адрес параметр IFRAME=Y
.
... if ($this->request->isPost() && check_bitrix_sessid()) { ... $uri = new Uri($pathToDetailPage); if ($this->request->get('IFRAME') == 'Y') { $uri->addParams(['IFRAME' => 'Y']); } LocalRedirect($uri->getLocator()); } ...
Полезные возможности
Все возможности включаются через параметры компонента.
- Поддерживаются области
pagetitle
,inside_pagetitle
иsidebar
. Те же, что и в шаблоне сайта bitrix24. - Если вы используете эти области в своих компонентах, не забывайте о проверке текущего шаблона сайта по константе
SITE_TEMPLATE_ID
. - Дополнительно, только в слайдере, доступна область
left-panel
. Использовать ее имеет смысл в сочетании с параметром PAGE_MODE=false.
Дополнительно
© «Битрикс», 2001-2024, «1С-Битрикс», 2024