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

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
Наверх