1С-Битрикс: Определение страницы, на которой находится пользователь

Всем добрый день и с праздником Вас, дорогие читатели моего блога. Сегодняшний пост хочу посвятить теме определения страницы, на которой находится пользователь. Для чего это нужно? Приведу несколько примеров:

  • Разное, но незначительное изменения шаблонов главной и остальных страниц. Например, у вас есть готовый сверстанный шаблон сайта и вы интегрируете его под 1С-Битрикс.
  • Нужно определить главную или иную страницу, чтобы вывести определенную всплывающую информацию.
  • И прочее…

Не буду томить вас долгими разъяснениями и напишу сразу функцию и пояснения к ней:

function curr_page_is_home()
{
     $CurrPage = $APPLICATION->GetCurPage(true);
     $HomePage = "/index.php";
     if ($CurrPage==$HomePage) return true;
     else return false;
}

CMain::GetCurPage(bool get_index_page=null) возвращает строковую переменную, содержащую путь к текущей странице относительно корня без каких-либо параметров, что нам и нужно. Параметром get_index_page указывается нужно ли нам возвращать путь для индексной страницы, если ее значение true, то результат будет содержать строку «index.php», иначе «/». Вообще, по-умолчанию, результат регулируется встроенной константой BX_DISABLE_INDEX_PAGE, если значение константы true, то значение параметра по умолчанию get_index_page=false. Поэтому рекомендую самим строго указывать значение параметра get_index_page, дабы не попасть впросак, если кто-то изменит значение константы 🙂
Вот такая простая и полезная функция.

При перепубликации активная ссылка на этот блог обязательна.
Поблагодарить автора 🙂
 руб.