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

Специальные страницы

Описание

При создании страницы через мастер в манифесте могут быть прописаны специальные страницы. Например, страница корзины. Для таких страниц предусмотрены специальные метки, чтобы в теле страницы можно было ссылаться на определенную системную, не зная ее полного адреса и даже ID.

Если для данного маркера существует соответствующая страница в рамках текущего сайта, адрес будет подставлен вместо макера, в ином случае маркер будет проигнорирован.


Пример

<a href="#system_cart">Корзина</a> 
//обратите внимание, маркер намеренно ставится без закрывающегося символа решетки #

Существующие на данный момент маркеры спец.страниц:

  • #system_mainpage – главная страница
  • #system_catalog – главная страница каталога
  • #system_personal – персональный раздел
  • #system_cart – корзина
  • #system_order – оформление заказа
  • #system_payment – страница оплаты (непосредственно процессинг оплаты)
  • #system_compare – страница сравнения

Методы

Scope: landing Права на выполнение: для всех

Метод Описание С версии
landing.syspage.set Метод устанавливает для сайта специальную страницу. Если параметр lid не передан, то соответствующий тип страницы, не сама страница, будет удален. Метод не возвращает результата.
BX24.callMethod(
	'landing.syspage.set',
	{
		id: 1390,// ИД сайта
		type: 'personal',// тип страницы
		lid: 8593// ИД страницы, которая в рамках сайта будет считаться данного типа
	},
	function(result)
	{
		if(result.error())
		{
			console.error(result.error());
		}
		else
		{
			console.info(result.data());
		}
	}
)
landing.syspage.get Метод возвращает список страниц сайта, которые установлены как специальные.
BX24.callMethod(
	'landing.syspage.get',
	{
		id: 1390,// ИД сайта
		active: true// Если true, то вернутся только активные страницы сайта (по умолчанию все)
	},
	function(result)
	{
		if(result.error())
		{
			console.error(result.error());
		}
		else
		{
			console.info(result.data());
		}
	}
);
landing.syspage.getSpecialPage Метод возвращает адрес специальной страницы сайта. В примере показано как получить ссылку на страницу персонального раздела сайта.
BX24.callMethod(
	'landing.syspage.getSpecialPage',
	{
		siteId: 1391,// ИД сайта
		type: 'personal',// тип специальной страницы
		additional: {// необязательный массив доп. параметров, которые будут добавлены к URL
			SECTION: 'private'
		}
	},
	function(result)
	{
		if(result.error())
		{
			console.error(result.error());
		}
		else
		{
			console.info(result.data());
		}
	}
);
landing.syspage.deleteForLanding Метод удаляет все упоминания страницы как специальной.
BX24.callMethod(
	'landing.syspage.deleteForLanding',
	{
		id: 8613 // ИД страницы
	},
	function(result)
	{
		if(result.error())
		{
			console.error(result.error());
		}
		else
		{
			console.info(result.data());
		}
	}
);
landing.syspage.deleteForSite Метод удаляет все специальные страницы сайта.
BX24.callMethod(
	'landing.syspage.deleteForSite',
	{
		id: 1391 // ИД сайта
	},
	function(result)
	{
		if(result.error())
		{
			console.error(result.error());
		}
		else
		{
			console.info(result.data());
		}
	}
);


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2024, «1С-Битрикс», 2024