Заказ обратного звонка

В настоящее время наш рабочий день закончен. Оставьте свой телефон и мы перезвоним в удобное для вас время!

Заказ обратного звонка

Ваш заявка принята. Ожидайте звонка.

1С-Битрикс: Как отображать информацию только на главной странице

В случае когда необходимо отображать информацию только на главной странице, на помощь приходит Bitrix API. Рассмотрим несколько случаев, в которых вам стоит применять подобные проверки.

 

Вывод информации только на главной странице в Битриксе

 

<?if($APPLICATION->GetCurPage() == "/"):?>

<!-- текст или компонент -->

<?endif;?>



Или такой вариант:

<?if($APPLICATION->GetCurPage() == "/index.php"){
#ваш код
}?>

Большой разницы быть не должно. Вместо GetCurPage() можем попробовать GetCurDir():

<?if($APPLICATION->GetCurDir() == "/") {}?>

Как отобразить информацию везде кроме главной страницы

В новых шаблона Битрикса встречается следующий вариант:

<?$curPage = $APPLICATION->GetCurPage(true);?>
<?if ($curPage != SITE_DIR."index.php"):?>
  <h1><?=$APPLICATION->ShowTitle(false);?></h1>
<?endif?>

Но я обычно использовал в этих случаях более короткую запись

<?if($APPLICATION->GetCurPage() != "/"){?>
<?}?>

Какой вариант использовать — это уже на ваше усмотрение.

1С-Битрикс: Как отображать информацию на определенном разделе

Рассмотрим пример, когда нужно показывать информацию не только в разделе ‘catalog’, но и на его внутренних разделах и страницах (то есть, на всех страницах, в урле которых встречается /catalog/):

<?
$p1 = "/catalog/";
if (strstr($APPLICATION->GetCurDir(), $p1)) {?>
<!-- ваш код -->
<?}?>

где $p1 — ваш раздел, а strstr — проверяет первое вхождение подстроки.
ПС — документация PHP рекомендует использовать в таких случаях strpos вместо strstr.

Но есть и нормальное решение  Но работает исключительно с папками:

<?if(CSite::InDir('/about/')) {

}?>

Ну и что касается вывода информации на разделе, можем использовать следующий код:

<?if ($APPLICATION->GetCurDir() == "/catalog/") {?>
<!-- ваш код -->
<?}?>