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

getPublicUrl

Описание и параметры

public function getPublicUrl(
	$id = false,
	$absolute = true,
	$createPubPath = false
);

Получение адреса страницы.

Параметры

ПараметрОписаниеВерсия
id По-умолчанию false, будет выведен адрес текущей страницы, но можно передать идентификатор иной страницы, или массив идентификаторов (что более актуально для оптимизации запроса).
absolute Если true (по-умолчанию), вернется абсолютный адрес страницы, включая доменное имя и протокол.
createPubPath Если true (по-умолчанию false) произойдет создание физической директории публикации, если ее не существует.

Примеры

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
	\Bitrix\Landing\Landing::setEditMode(true);

	$landing = \Bitrix\Landing\Landing::createInstance(
		1
	);
	if ($landing->exist())
	{
		echo($landing->getPublicUrl());
	}
   
	foreach ($landing->getError()->getErrors() as $error)
	{
		echo $error->getCode() . ': ';
		echo $error->getMessage();
		echo "\n";
	}
}

Пример группового получения ссылок на страницы

Внимательный читатель мог заметить, что в параметр id можно передать массив идентификаторов страниц. Но где взять изначальный объект $landing, который должен быть инициирован? В виде хитрости можно создать так называемый нулевой лендинг. Он заведомо не существует, поэтому мы создаем его исключительно для получения ссылок, без каких-либо иных проверок:

if (\Bitrix\Main\Loader::includeModule('landing'))
{
	$landing = \Bitrix\Landing\Landing::createInstance(
		0
	);
	$publicUrls = $landing->getPublicUrl([1,2,3]);//идентификаторы страниц
	print_r($publicUrls);
}

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



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