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

Начало работы

Использование

Компонент 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