Николаев Виталий
Блог веб-разработчика: Битрикс, PHP, Python, Linux и SEO
Битрикс Битрикс
14.03.2018

Битрикс. Подключение дополнительных стилей CSS

В 1С-Битрикс функция:

ShowCSS()

используется для подключения CSS-файлов шаблона сайта и дополнительных стилей страницы.

Что делает ShowCSS()

Функция:

$APPLICATION->ShowCSS()

выводит:

  • основные CSS шаблона;
  • стили компонентов;
  • дополнительные CSS-файлы;
  • стили подключенные через SetAdditionalCSS().

Где используется ShowCSS()

Обычно:

ShowCSS()

вызывается в:

header.php

шаблона сайта.

Например:

<head>

    <?$APPLICATION->ShowHead();?>

</head>

Внутри:

ShowHead()

уже вызывается:

  • ShowCSS();
  • ShowHeadStrings();
  • ShowHeadScripts();

Подключение дополнительного CSS

Для подключения отдельного CSS-файла используется:

$APPLICATION->SetAdditionalCSS()

Пример подключения CSS

<?
$APPLICATION->SetAdditionalCSS(
    "/bitrix/templates/demo/additional.css"
);
?>

Что делает SetAdditionalCSS()

Метод:

SetAdditionalCSS()

добавляет CSS-файл в очередь подключения Битрикс.

После этого:

ShowCSS()

автоматически выведет:

<link rel="stylesheet" ... >

Где удобно использовать

  • отдельные страницы;
  • лендинги;
  • страницы услуг;
  • кастомные компоненты;
  • временные стили;
  • дополнительные библиотеки CSS.

Пример подключения в component_epilog.php

<?
$APPLICATION->SetAdditionalCSS(
    SITE_TEMPLATE_PATH . "/css/custom.css"
);
?>

Подключение нескольких CSS-файлов

Можно подключать несколько файлов:

<?
$APPLICATION->SetAdditionalCSS("/css/page.css");

$APPLICATION->SetAdditionalCSS("/css/catalog.css");

$APPLICATION->SetAdditionalCSS("/css/mobile.css");
?>

Преимущества SetAdditionalCSS()

  • стили подключаются централизованно;
  • не нужно писать <link> вручную;
  • Битрикс управляет очередью подключения;
  • корректно работает композит;
  • учитывается оптимизация CSS.

Важно про абсолютный путь

Лучше использовать:

SITE_TEMPLATE_PATH

или:

$_SERVER["DOCUMENT_ROOT"]

чтобы избежать проблем при переносе сайта.

Пример через SITE_TEMPLATE_PATH

<?
$APPLICATION->SetAdditionalCSS(
    SITE_TEMPLATE_PATH . "/css/style.css"
);
?>

Когда лучше не использовать link вручную

Вместо:

<link rel="stylesheet" href="/style.css">

в Битрикс лучше использовать:

SetAdditionalCSS()

так как это:

  • вписывается в архитектуру Битрикс;
  • лучше для композита;
  • удобнее для поддержки.

Итог

Функция:

ShowCSS()

выводит все CSS-файлы, зарегистрированные в Битрикс.

А для подключения дополнительных стилей удобно использовать:

$APPLICATION->SetAdditionalCSS()
7 просмотров

Комментарии

Где заказы?
Почему у одних компаний очередь из клиентов, а у других пустой сайт и тишина?
Телеграм канал «Где заказы?» — про продажи, сайты и ошибки бизнеса на реальных примерах. Подписаться