Бортовой журнал Ктулху

Битрикс: условия только для определенных страниц или разделов

Иногда в Битриксе нужно выполнить какой-либо код строго на определенной странице, например только на главной или только в разделе каталога. Так как не будет правильным путем добавлять код в сам файл страницы (хотя это возможно), нужно сделать так что бы этот код выполнялся только на странице соответствующей определенному URL.

 

Выводим баннер только на главной

<?
if (CSite::InDir('/index.php')){
 ?>баннер<?
}
?>

Условие для раздела

Так как в Битриксе разделы являются физическими файлами и папками (отдельный вопрос насчет логики авторов этой якобы "CMS"), указываем путь к индексному файлу раздела.

<?
if (CSite::InDir('/catalog/index.php')){
 ?>нечто на главной странице в разделе каталога<?
}
?>

Если нужно также включить подразделы в это условие.

<?
if (CSite::InDir('/catalog/')){
 ?>это мы увидим во всем разделе<?
}
?>

Для страниц с постраничной навигацией

Если нужно вывести что-то например только на первой странице раздела с постраничной навигацией.

 
<?if (is_object($arResult['NAV_RESULT']) && $arResult['NAV_RESULT']->PAGEN == 1):?>
// код
<?endif;?>

На этом как бы и все.