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.