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

Редактирование блока

Описание

На данный момент разработчики имеют возможность внедриться в пункты редактирования любого блока. В случае такой регистрации рядом с кнопками блока "Редактировать" и "Дизайн" появится кнопка вызова вашего приложения.

Код для встройки приложения зависит от кода блока и в общем виде выглядит так: LANDING_BLOCK_<CODE>. Если в случае системного блока все понятно, и вместо <CODE> нужно вставить код блока (примеры ниже), то в случае встраивания в зарегистрированный вами же блок нужно подставить его идентификатор.

Например:

  1. Регистрируем блок. Метод вернет ID блока. Пусть он равен 1132, для примера.
  2. При регистрации места встраивания указываем код: LANDING_BLOCK_repo_1132 (или LANDING_BLOCK_REPO_1132, регистр не важен)

Параметры

Для данного места встраивания доступны параметры:

Параметр Описание С версии
ID – идентификатор блока.
CODE – символьный код блока.
LID – идентификатор страницы.

Получить параметры можно из PLACEMENT_OPTIONS:

$placement = isset($_REQUEST['PLACEMENT_OPTIONS'])
	? json_decode($_REQUEST['PLACEMENT_OPTIONS'], true)
	: [];

Пример

BX24.callMethod(
	'landing.repo.bind',
	{
		fields: {
			PLACEMENT: 'LANDING_BLOCK_04.1.one_col_fix_with_title',
			PLACEMENT_HANDLER: 'https://cpe/rt/placement.php',
			TITLE: 'My block'
		}
	},
	function(result)
	{
		if(result.error())
			console.error(result.error());
		else
			console.info(result.data());
	}
);

Если вы хотите встроить универсальное приложение для каждого блока, следует указывать код со *:

BX24.callMethod(
	'landing.repo.bind',
	{
		fields: {
			PLACEMENT: 'LANDING_BLOCK_*',
			PLACEMENT_HANDLER: 'https://cpe/rt/placement.php',
			TITLE: 'My block'
		}
	},
	function(result)
	{
		if(result.error())
			console.error(result.error());
		else
			console.info(result.data());
	}
)

Обновление блока из приложения

В открывающемся приложении доступна команда на обновление конкретного блока. Подразумевается, что после работы с блоком, из которого вызвано приложение, вам может потребоваться его обновить. Делается это через команду refreshBlock.

Пример

BX24.placement.call(
	'refreshBlock',
	{
		id: 123//блок с идентификатором 123
	},
	function()
	{
		console.log('Блок успешно обновлен');
		//закрываем слайдер
	}
);


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

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

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

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

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх