Вывод информации только на главной странице в Битриксе
В случае когда необходимо отображать информацию только на главной странице, на помощь приходит Bitrix API. Рассмотрим несколько случаев, в которых вам стоит применять подобные проверки.
Перейдем от долгих вступлений сразу к делу. Собственно код:
Еще вариант:
1 2 3 | <?if($APPLICATION->GetCurPage()==«/index.php»){ #ваш код }?> |
Большой разницы быть не должно. Вместо GetCurPage() можем попробовать GetCurDir():
1 | <?if($APPLICATION->GetCurDir()==«/»){}?> |
Как отобразить информацию везде кроме главной страницы
В новых шаблона Битрикса встречается следующий вариант:
1 2 3 4 | <?$curPage=$APPLICATION->GetCurPage(true);?> <?if($curPage!=SITE_DIR.«index.php»):?> <h1><?=$APPLICATION->ShowTitle(false);?></h1> <?endif?> |
Но я обычно использовал в этих случаях более короткую запись
1 2 | <?if($APPLICATION->GetCurPage()!=«/»){?> <?}?> |
Какой вариант использовать — это уже на ваше усмотрение.
1С-Битрикс: Как отображать информацию на определенном разделе
Рассмотрим пример, когда нужно показывать информацию не только в разделе ‘catalog’, но и на его внутренних разделах и страницах (то есть, на всех страницах, в урле которых встречается /catalog/):
1 2 3 4 5 | <? $p1=«/catalog/»; if(strstr($APPLICATION->GetCurDir(),$p1)){?> <!—вашкод—> <?}?> |
где $p1 — ваш раздел, аstrstr— проверяет первое вхождение подстроки.
ПС — документация PHP рекомендует использовать в таких случаяхstrposвместоstrstr.
Но есть и нормальное решение🙂Но работает исключительно с папками:
1 2 3 | <?if(CSite::InDir(‘/about/’)){ }?> |
Ну и что касается вывода информации на разделе, можем использовать следующий код:
1 2 3 | <?if($APPLICATION->GetCurDir()==«/catalog/»){?> <!—вашкод—> <?}?> |
Кстати говоря, такого рода проверка, встречалась мне и на других сайтах написанных на 1С-Битрикс. Ее использовали, чтобы задать мета-свойства для разделов, выведенных с помощью модуля новости.
Информация взята с сайта forwww.com
<?if($APPLICATION->GetCurPage()=="/"):?>
<!--текст-или-компонент-->
<?endif;?>