Для определения того, что вы находитесь на детальной странице каталога в системе 1C-Bitrix, можно использовать несколько способов.
1. Проверка по типу текущего компонента:
Обычно, на детальной странице каталога используется компонент "bitrix:catalog.element", поэтому можно проверить тип текущего компонента с помощью функции "CComponentEngine::GetComponentPath", которая вернет путь к файлу компонента.
Пример кода:
$componentPath = CComponentEngine::GetComponentPath('bitrix:catalog.element'); if ($componentPath !== false) { // Вы находитесь на детальной странице каталога }
2. Проверка по идентификатору инфоблока:
Еще один способ - проверить идентификатор инфоблока текущего элемента с помощью глобальной переменной "$GLOBALS['IBLOCK_ID']", которая содержит значение идентификатора активного инфоблока.
Пример кода:
if ($GLOBALS['IBLOCK_ID'] == ID_ВАШЕГО_ИНФОБЛОКА) { // Вы находитесь на детальной странице каталога }
3. Проверка по URL страницы:
Можно также проверить текущий URL страницы с помощью функции "CMain::GetCurPage", и сравнить его с заранее заданным URL паттерном детальной страницы каталога.
Пример кода:
$pageURL = CMain::GetCurPage(); $pattern = '/^/catalog/.*/d+/$/'; // Здесь можно задать нужный паттерн детальной страницы if (preg_match($pattern, $pageURL)) { // Вы находитесь на детальной странице каталога }
Это лишь некоторые из возможных способов определить, что вы находитесь на детальной странице каталога в системе 1C-Bitrix. Выберите подходящий для вас метод и используйте его в своем коде.