Подключение CSS и JS файлов в шаблоне компонента 1С-Битрикс
, МихаилДля оформления и реализации front-end логики компонента, в шаблоне доступны не обязательные файлы
- style.css — дополнительные стили для шаблона;
- script.js — дополнительные скрипты для шаблона.
Архитектурно правильный способ - создать component_epilog.php
<?php
global $APPLICATION;
$APPLICATION->AddHeadScript(SITE_TEMPLATE_PATH ."/js/divasoft.js");
$APPLICATION->SetAdditionalCss(SITE_TEMPLATE_PATH ."/css/divasoft.css");
$APPLICATION->AddHeadString("<link href='http://fonts.googleapis.com/css?family=PT+Sans:400&subset=cyrillic' rel='stylesheet' type='text/css'>");
?>
Или в новом стиле D7:
<?php
use Bitrix\Main\Page\Asset;
Asset::getInstance()->addJs(SITE_TEMPLATE_PATH . "/js/divasoft.js");
Asset::getInstance()->addCss(SITE_TEMPLATE_PATH . "/css/divasoft.css");
Asset::getInstance()->addString("<link href='http://fonts.googleapis.com/css?family=PT+Sans:400&subset=cyrillic' rel='stylesheet' type='text/css'>");
?>
И теперь самый простой и правильный способ в template.php
<?php
$this->addExternalCss("/local/styles.css");
$this->addExternalJS("/local/liba.js");
?>
Ещё один способ, если весь шаблон находится в отложенной функции template.php
<?php
//we can't use $APPLICATION->SetAdditionalCSS()
$css = $APPLICATION->GetCSSArray();
if(!is_array($css) || !in_array("/bitrix/css/main/font-awesome.css", $css)) {
$strReturn .= '<link href="'.CUtil::GetAdditionalFileURL("/bitrix/css/main/font-awesome.css").'" type="text/css" rel="stylesheet" />'."\n";
}
?>