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

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)


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

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

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

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

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
0
Мельник Анна
Сообщение не промодерировано, возможны ошибки и неточности.
Спасибо Владимиру Дубовицких, ваш код помог!
Цитата
пишет:
[QUOTE][URL=/community/webdev/user/5322596/]Владимир Дубовицких[/URL] пишет:

Если параметр  "logout=yes"  не разлогинивает, нужно добавить к нему идентификатор сессии  bitrix_sessid_get() . Получается
  [CODE]   <a href=  "<?= $APPLICATION ->GetCurPageParam("  logout=yes&amp;  ".bitrix_sessid_get(), array(
     "  login  ",
     "  logout  ",
     "  register  ",
     "  forgot_password  ",
     "  change_password  "));?>"  >Закончить сеанс (logout)</a>
  Копировать  [/CODE]    [/QUOTE]
Необходимо добавлять не bitrix_sessid_get, а bitrix_sessid()
2
Кирилл Кунгурцев
Сообщение не промодерировано, возможны ошибки и неточности.
Цитата
Владимир Дубовицких пишет:

Если параметр  "logout=yes"  не разлогинивает, нужно добавить к нему идентификатор сессии  bitrix_sessid_get() . Получается
 
Код
 <a href= "<?=$APPLICATION->GetCurPageParam(" logout=yes&amp; ".bitrix_sessid_get(), array(
      " login ",
      " logout ",
      " register ",
      " forgot_password ",
      " change_password "));?>" >Закончить сеанс (logout)</a>
 
 

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