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

getPublicUrl

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

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);
}


© «Битрикс», 2001-2019, «1С-Битрикс», 2019
Наверх