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

Работа с объектом

Внимание! Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.

Объект сущности Блок может существовать только в составе страницы. Поэтому работа с объектом Блока может начинаться только после инициации страницы. Об этом вы можете узнать в соответствующем разделе.

Вообще, API работы с блоками может показаться нелогичным и громоздким. Почему мол нельзя обратиться по определенному ИД к конкретному блоку и поменять, допустим, ему какое-то поле. Так сложилось исторически и на то были свои причины. Использовать ли данный API в своей работе – решать уже вам.

Пример кода "обертки" для доступа к блоку или блокам.

if (\Bitrix\Main\Loader::includeModule('landing'))
{
	\Bitrix\Landing\Landing::setEditMode(true);
	$landing = \Bitrix\Landing\Landing::createInstance(
		1
	);
	if ($landing->exist())
	{
		foreach ($landing->getBlocks() as $block)
		{
			// непосредственно работа с нужным блоком
			if ($block->getId() == 45013)
			{
				$block->setActive(false);
				var_dump($block->isActive());
				$landing->getError()->copyError(
					$block->getError()
				);
			}
		}
	}
	foreach ($landing->getError()->getErrors() as $error)
	{
		echo $error->getCode() . ': ';
		echo $error->getMessage();
		echo "\n";
	}
}

Обратите внимание на обработку ошибок. Внутри области работы с блоком происходит передача ошибок от методов блока к общей обработке в рамках методов страницы. Вы можете так и не делать, обрабатывая ошибки при работе с блоками отдельно.



© «Битрикс», 2001-2024, «1С-Битрикс», 2024