Санкт-Петербург

Фермское шоссе 30, офис 111

Пн-Пт 9:00 - 18:00

Москва

ул.Большая Андроньевская, д.23, стр.1

Пн-Пт 9:00 - 18:00

оставить заявку
Мы - NASTARTWEB

узнать о нас

мощная команда для вашего бизнеса

Все о сайдбарах в Битрикс

SIDEBAR or not SIDEBAR?

Все, что вы должны знать о сайдбарах при внедрении сайтов под Битрикс.

Часто бывает так, что страницы сайта немного отличаются по структуре. На одних есть сайдбар, на других нет. На одних есть левое меню, другие - полноэкранные. В этой статье мы рассмотрим все возможные варианты.


Что делать, если на главной странице нет левого (правого) меню, а на остальных есть? Tip & Tricks для сайтов на Битрикс.

Этот вариант - самый простой в реализации. Не нужно создавать разные шаблоны для одного сайта только из-за того, что главная страница отличается от остальных. Достаточно просто использовать конструкцию

<? /* Если мы НЕ находимся на главной */ ?>
<? if(!CSite::InDir('/index.php')): ?>
<? endif; ?>

То есть, вы внедряете шаблон, и после обозначения главного контейнера будет что-то вроде этого:

<?php if(!CSite::InDir('/index.php')): ?>
<?php
/** Заголовок **/
$APPLICATION->ShowTitle(false);
?>


<?php
/** Крошки **/
$APPLICATION->IncludeComponent(
"bitrix:breadcrumb",
"",
Array(
"COMPONENT_TEMPLATE" => ".default",
"PATH" => "",
"SITE_ID" => "-",
"START_FROM" => "0"
)
);
?>

<!-- Левый сайдбар -->
<div class="col-lg-3">
Здесь может быть левое меню, включаемая область или любой другой компонент.
</div>

<!-- Рабочая область -->
<div class="col-lg-9">
<?php endif; ?>

#WORK_AREA#

<?php if(!CSite::InDir('/index.php')): ?>
<!-- Закрываем рабочую область -->
</div>
<?php endif;?>

Что делать, если сайдбар нужен только в каталоге?

Для этого в настройках комплексного компонента Каталог есть галочка Показывать боковую панель в списке товаров: (если сайдбар нужен в списке товаров) и Показывать боковую панель на детальной странице: (если сайдбар нужен в детальной карточке товара). Указываем в поле Путь к включаемой области для вывода информации в боковой панели: путь к области, например /include/catalog.php. Добавляем файл, расположенный по указанному пути и о чудо! сайдбар появляется в каталоге.

NB: если сайдбар нужен на общей странице каталога, то копируем следующий код в sections.php

<?php if($isSidebar): ?>
<div class="col-lg-3">
<?php
$APPLICATION->IncludeComponent(
"bitrix:main.include",
"",
array(
"AREA_FILE_SHOW" => "file",
"PATH" => $arParams["SIDEBAR_PATH"],
"AREA_FILE_RECURSIVE" => "N",
"EDIT_MODE" => "html",
),
false,
array('HIDE_ICONS' => 'Y')
);
?>
</div>
<?php endif; ?>

Что делать, если сайдбар нужен на некоторых страницах сайта, выборочно?

В этом случае разумнее всего использовать свойства страницы.

Из визуальной части.

На панели управления Изменить раздел - Свойства раздела - Редактировать свойства папки в панели управления. В открывшейся форме, вкладка Свойства Каталога. В левом столбце пишем название свойства, например SIDEBAR, в правом - значение, например Y.

После этого мы можем обратиться к этому свойству из шаблона сайта

<?php if($APPLICATION->GetProperty("SIDEBAR") == "Y"): ?>
<!-- Левый сайдбар -->
<div class="col-lg-3">
Здесь может быть левое меню, включаемая область или любой другой компонент.
</div>
<?php endif;?>

В принципе, если таких страниц 2-3, то можно использовать решение для пункта 1. Только вместо index.php указывать название каталога, например

<? if(CSite::InDir('/contacts/') && CSite::InDir('/page/')):?>
Здесь ваш код
<? endif; ?>

Однако, советую использовать такие конструкции ТОЛЬКО в том случае, если страниц действительно 2-3, и вы точно это знаете. Иначе придется каждый раз при добавлении новой страницы с сайдбаром править код шаблона.

Вы можете использовать тот метод, который вам нужен именно для вашего проекта на Битриксе, или комбинировать их. Удачи в разработке сайта!

И не забывайте делать все правильно!

Будем рады сотрудничать с вами

Дарим бесплатный seo-аудит вашего сайта!

Наш сайт безопасен для Вас

Чтобы сайт был удобным, мы используем cookie.
Нажимая «Принять все», вы соглашаетесь на это в соответствии с Политикой обработки файлов cookie.
Или настройте их самостоятельно.

Как мы обрабатываем ваши данные

Хотите больше узнать о том, как мы обрабатываем ваши данные? Ознакомьтесь с нашей Политикой обработки файлов cookie и Политикой конфиденциальности.

Настройка cookie

Настройте cookie, как вам хочется! Только технические отключить нельзя: без них сайт не заработает, как утро без кофе. Мы запомним ваш выбор на год, а потом попросим обновить его.

Эти файлы cookie необходимы для правильной работы сайта и его основных функций (например, навигация, сохранение сессии, работа форм). Без них сайт не сможет функционировать должным образом. Они не собирают информацию для маркетинга или отслеживания. Этот тип cookie нельзя отключить.

Эти файлы cookie позволяют нам собирать информацию о том, как посетители используют наш сайт (например, какие страницы посещают чаще, сколько времени проводят на сайте, возникают ли ошибки). Эта информация собирается в обезличенном виде и используется для анализа и улучшения работы сайта. Данные обрабатываются Яндекс.Метрикой согласно ее политике конфиденциальности (см. сайт Яндекса). Эти cookie активны только с вашего согласия.

Эти файлы cookie помогают отслеживать активность пользователей нашего сайта и использовать эти данные для эффективного размещения рекламы. Эти cookie активны только с вашего согласия.