Попробуем начать новую рубрику на сайте: Битрикс для начинающих. В ней мы будем собирать полезную информацию для людей, которые только начинают создавать сайты на этой CMS. В этой статье мы соберем полезные константы и функции, которые упрощают работу с шаблонами сайтов (и не только).
Список часто используемых функций, констант и выражений 1С-Битрикс для использования в шаблонах сайтов.Шаблон сайта
<?$APPLICATION->ShowTitle()?> - вывод тайтла страницы.
<?$APPLICATION->ShowTitle(false);?> - вывод заголовка.
<?$APPLICATION->ShowPanel();?> - подключение панели администратора для публичной части сайта.
<?$APPLICATION->ShowHead()?> - подключение в шаблоне сайта стилей, скриптов и мета-тегов. Заменяет три следующие функции.
<? $APPLICATION->ShowCSS(); ?> - подключение CSS стилей сайта.
<? $APPLICATION->ShowHeadStrings() ?> - подключает JS скрипты и специальные стили.
<? $APPLICATION->ShowHeadScripts() ?> - подключение служебных скриптов.
<? $APPLICATION->ShowMeta("keywords") ?> - вывод метатега keywords.
<? $APPLICATION->ShowMeta("description") ?> - вывод метатега description.
Полезные константы
<?=SITE_SERVER_NAME?> - URL сервера.
<?=LANGUAGE_ID?> - константу идентификатора языка из настроек сайта.
<?= SITE_TEMPLATE_PATH?> - путь до шаблона сайта.
<meta http-equiv="Content-Type" content="text/html; charset=<?=LANG_CHARSET?>"> - подставляет константу кодировки сайта в мета.
Правильное подключение скриптов и стилей на новом ядре D7
use Bitrix\Main\Page\Asset;
Asset::getInstance()->addJs('/js/TweenMax.min.js'); - правильное подключение JavaScript в шаблоне сайта.
Asset::getInstance()->addCss('/css/bootstrap-grid.css'); - правильное подключение CSS файлов.
Asset::getInstance()->addString("<meta name=’viewport’ content=’width=device-width, initial-scale=1’>") – подключение произвольной строки в <head>.
Правильное подключение скриптов и стилей на старом ядре
$APPLICATION->AddHeadScript(SITE_TEMPLATE_PATH."/js/some_script.js" ); - подключение скриптов.
$APPLICATION->SetAdditionalCSS(SITE_TEMPLATE_PATH."/css/some_style.css"); - подключение файлов стилей.
$APPLICATION->AddHeadString("<meta name='viewport' content='width=device-width, initial-scale=1'>"); - произвольные мета теги и файлы.
Проверка авторизации
gloval $USER;
if ($USER->IsAdmin()) {
// Код выполнится только для администратора
}
global $USER;
if ($USER->IsAuthorized())
echo "Текст только для авторизованных пользователей";
Чем дополнить?)
Привет)
Больше API и D7 (примеры и разница с гетлистом в инфобоках)
Разработка компонентов и модулей
Бизнес процесы
REST
как сделать свой кастомный файл стилей последним в шаблоне?
не могу нигде найти такую информацию (
А зачем вам подключать стили в определенном порядке? Или я что-то не правильно понял?
Расскажите как стоит задача первоначально)
причем, если для Asset::getInstance()->addString есть AFTER::CSS, то для самого подключения стилей определения порядка нет (
есть покупной шаблон. в котором стили прописаны в темплейт-стайл.цсс.
надо надежно перебивать стили шаблона, а это можно сделать только разместив мой стиль в самый низ списка.
Может имеет смысл капнуть в другую сторону? Существуют правила приоритета стилей, не обязательно делать по принципу "кто позже".
Тут, например, это обсуждалось
слишком много !important получается.
в общем, добавил стиль с помощью Asset::getInstance()->addString пока что. он гарантировано ниже и сразу стало значительно легче
Он подключается ниже потому что в функции ShowHead, которая ответственна за вывод в том числе и стилей, ShowCSS идет раньше, чем ShowHeadStrings. Но их ход может быть изменен, надо проследить за этим.
А вообще всегда вопрос про актульность обновлений шаблона, если он все равно переделывается, мб есть смысл скопировать его и изменять уже копию?)
не, он обновляется, причем вплоть до хидер.пхп.
поэтому пока если делаю изменения в файлах шаблона, то создаю копию измененных файлов, чтобы не потерять свои правки ))