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

GetCurPageParam

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

string
CMain::GetCurPageParam(
	string add_params = "",
	array remove_params = array(),
	bool get_index_page = null
)

Возвращает путь к текущей странице относительно корня c добавленными новыми и(или) удаленными текущими параметрами. Нестатический метод.

Если файл текущей страницы явно не определён, то определение индексного файла каталога будет проходить по алгоритму представленному в описании функции GetDirIndex.

Функции метода в новом ядре выполняют:

Параметры

ПараметрОписание С версии
add_paramsСтрока с параметрами которые нужно добавить к возвращаемому значению.
Необязательный. По умолчанию "".
remove_paramsМассив параметров, которые необходимо удалить из URL-а страницы.
Необязательный. По умолчанию - пустой массив.
get_index_pageПараметр указывает, нужно ли для индексной страницы раздела возвращать путь, заканчивающийся на "index.php". Если значение параметра равно true, то возвращается путь с "index.php", иначе - путь, заканчивающийся на "/". По умолчанию - null.

Если get_index_page равен:

  • null, поведение определяется константой BX_DISABLE_INDEX_PAGE. Если значение константы true, то значение параметра по умолчанию get_index_page=false.
  • false, из возвращаемого url страницы будет удалено index.php (вернется подстрока от 0-й позиции до первого встретившегося "/index.php")
  • true, url вернется без изменений
5.9.0

Примеры использования

<?
// текущая страница: /ru/?id=3&s=5&d=34
$page = $APPLICATION->GetCurPageParam("id=45", array("id", "d")); 
// результат - /ru/index.php?id=45&s=5
?>
// пример формирование ссылок "Logout" и "Регистрация"

<?if ($USER->IsAuthorized()):?>

	<a href="<?echo $APPLICATION->GetCurPageParam("logout=yes", array(
		"login",
		"logout",
		"register",
		"forgot_password",
		"change_password"));?>">Закончить сеанс (logout)</a>

<?else:?>
 
	<a href="<?echo $APPLICATION->GetCurPageParam("register=yes", array(
		"login",
		"logout",
		"forgot_password",
		"change_password"));?>">Регистрация</a>

<?endif;?>

Если параметр logout=yes не разлогинивает, нужно добавить к нему идентификатор сессии bitrix_sessid_get(). Получается:

Код
<a href="GetCurPageParam("logout=yes&".bitrix_sessid_get(), array(
	"login",
	"logout",
	"register",
	"forgot_password",
	"change_password"));?>">Закончить сеанс (logout)


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

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

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
5
Boomerml
Штатная битриксовая функция CMain::GetCurPageParam не умеет удалять элементы многомерных массивов вида param2[subparam1]. Велосипед создавать не пришлось... Спасибо за это Майдокину Алексею - dev.1c-bitrix.ru.
© «Битрикс», 2001-2025, «1С-Битрикс», 2025
Наверх