Битрикс – отображать информации на определённых страницах сайта

Мы уже разбирали как выводить данные для определённого пользователя. Так же можно выводить определённые данные на конкретной странице.

Самый простой пример: лого сайта должно быть ссылкой на начальную страницу сайта, но если уже на начальной странице лого должно быть просто картинкой.

<? if ($APPLICATION->GetCurPage(false) === '/'): ?>
   <img src="<?= SITE_TEMPLATE_PATH ?>/images/logo.svg">
<? else: ?>
   <a href="/"><img src="<?= SITE_TEMPLATE_PATH ?>/images/logo.svg"></a>
<? endif; ?>

$APPLICATION->GetCurPage(false) – вернёт путь к текущей странице относительно корня. В этом примере false означает что из возвращаемого url страницы будет удалено index.php

Если нам надо проверить в каком разделе мы находимся (предположим вывести дополнительный блок над сайтбаром в каталоге) используем GetCurDir

if($APPLICATION->GetCurDir() == "/catalog/") {
   //тут подгружаем необходимый блок только в разделе /catalog/
}

Противоположный пример – необходимо вывести блок везде кроме раздела /catalog/

if($APPLICATION->GetCurDir() != "/catalog/") {
   //тут подгружаем необходимый блок везде кроме /catalog/
}

И последний пример нужно вывести блок в разделе /catalog/ и во всех подразделах

if (strstr($APPLICATION->GetCurDir(), "/catalog/")) {
  //тут подгружаем необходимый блок разделе /catalog/ и во всех подразделах
}

Данный код проверяет есть ли в url строка /catalog/ и если совпадение есть выводит данные

Добавить комментарий

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