меню
- -
Основные функции вывода в шаблонах сайта 1С-Битрикс

Основные функции вывода в шаблонах сайта 1С-Битрикс

2 минуты
🙈 ∞
битрикс полезные функции и константы

Попробуем начать новую рубрику на сайте: Битрикс для начинающих. В ней мы будем собирать полезную информацию для людей, которые только начинают создавать сайты на этой 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 "Текст только для авторизованных пользователей";

Чем дополнить?)

Обсудим проект? Напиши в Телеграм, Whatsapp или ВК

Комментарии (9)

Чтобы оставить комментарий, авторизуйтесь. Войти или зарегистрироваться

Привет)

Больше API и D7 (примеры и разница с гетлистом в инфобоках)

Разработка компонентов и модулей
Бизнес процесы
REST

0 #
Pashka Ru 01:38 20.11.2019

как сделать свой кастомный файл стилей последним в шаблоне?
не могу нигде найти такую информацию (

0 #
Yazykov Dmitry 16:49 20.11.2019

А зачем вам подключать стили в определенном порядке? Или я что-то не правильно понял?
Расскажите как стоит задача первоначально)

0 #
Pashka Ru 17:13 20.11.2019

причем, если для Asset::getInstance()->addString есть AFTER::CSS, то для самого подключения стилей определения порядка нет (

0 #
Pashka Ru 17:11 20.11.2019

есть покупной шаблон. в котором стили прописаны в темплейт-стайл.цсс.

надо надежно перебивать стили шаблона, а это можно сделать только разместив мой стиль в самый низ списка.

0 #
Yazykov Dmitry 09:03 21.11.2019

Может имеет смысл капнуть в другую сторону? Существуют правила приоритета стилей, не обязательно делать по принципу "кто позже".

Тут, например, это обсуждалось

0 #
Pashka Ru 10:55 21.11.2019

слишком много !important получается.

в общем, добавил стиль с помощью Asset::getInstance()->addString пока что. он гарантировано ниже и сразу стало значительно легче

0 #
Yazykov Dmitry 11:52 21.11.2019

Он подключается ниже потому что в функции ShowHead, которая ответственна за вывод в том числе и стилей, ShowCSS идет раньше, чем ShowHeadStrings. Но их ход может быть изменен, надо проследить за этим.

А вообще всегда вопрос про актульность обновлений шаблона, если он все равно переделывается, мб есть смысл скопировать его и изменять уже копию?)

0 #
Pashka Ru 23:46 21.11.2019

не, он обновляется, причем вплоть до хидер.пхп.

поэтому пока если делаю изменения в файлах шаблона, то создаю копию измененных файлов, чтобы не потерять свои правки ))

0 #
Telegram
+
tg
Мы в Telegram Читай первым уникальный контент
+
Подпишись на наш Телеграм канал