На этой странице я собираю основные классы, методы и функции в 1С-Битрикс Управление сайтом, чтобы не искать их по коду часами. Может кому-то будут полезными.
Работа с заголовками и мета-тегами в header.php
Для начала давайте посмотрим, как можно управлять заголовками страницы и мета-тегами:
use Bitrix\Main\Page\Asset;
// Устанавливаем кодировку страницы
Asset::getInstance()->addString('<meta http-equiv="Content-Type" content="text/html; charset=' . LANG_CHARSET . '" />');
// Добавляем мета-теги: ключевые слова и описание страницы
Asset::getInstance()->addString('<meta name="keywords" content="ваш_ключевой_слова">');
Asset::getInstance()->addString('<meta name="description" content="ваше_описание_сайта">');
// Подключаем файлы стилей и скриптов
Asset::getInstance()->addCss(SITE_TEMPLATE_PATH . '/css/styles.css');
Asset::getInstance()->addJs(SITE_TEMPLATE_PATH . '/js/scripts.js');
// Устанавливаем заголовок страницы
$APPLICATION->SetTitle("Заголовок страницы");
Кстати говоря, если хотите провисать микроразметку, рекомендую почитать отдельную статью тут: https://vecdev.ru/blog/mikrorazmetka/opengraph-mikrorazmetka-dlya-sotsialnykh-setey/
В этом примере мы используем класс Asset
для добавления мета-тегов и подключения стилей и скриптов. Это позволяет нам централизованно управлять ресурсами страницы.
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
- Этот код обеспечивает базовую безопасность, предотвращая прямой доступ к файлам шаблона. Он проверяет, что файлы подключаются в контексте ядра Битрикс, а не напрямую.
$APPLICATION->ShowHead();
- Метод отвечает за вывод в шапке сайта мета-тегов, скриптов и стилей. Разработчики могут добавлять необходимые ресурсы через API, и они будут автоматически выводиться этой функцией.
<title><?$APPLICATION->ShowTitle()?></title>
- Заголовок страницы. Значение устанавливается в любом месте компонента или страницы через $APPLICATION->SetTitle()
и выводится в теге <title>
.
SITE_TEMPLATE_PATH
- Эта константа содержит путь к активному шаблону сайта. Используется для подключения скриптов, стилей и изображений, расположенных в шаблоне.
Работа с инфоблоками и элементами
Теперь давайте посмотрим, как можно работать с инфоблоками и их элементами с помощью D7:
use Bitrix\Iblock\IblockTable;
use Bitrix\Iblock\SectionTable;
use Bitrix\Iblock\ElementTable;
// Получаем ID инфоблока по его символьному коду
$iblockId = IblockTable::getList(['filter' => ['CODE' => 'your_iblock_code']])->fetch()['ID'];
// Получаем список разделов этого инфоблока
$sections = SectionTable::getList(['filter' => ['IBLOCK_ID' => $iblockId]])->fetchAll();
foreach($sections as $section) {
// Выводим название раздела
echo '<h2>' . $section['NAME'] . '</h2>';
// Получаем элементы, принадлежащие этому разделу
$elements = ElementTable::getList([
'filter' => ['IBLOCK_ID' => $iblockId, 'IBLOCK_SECTION_ID' => $section['ID']]
])->fetchAll();
foreach($elements as $element) {
// Выводим название элемента
echo '<div>' . $element['NAME'] . '</div>';
}
}
В этом примере мы используем классы IblockTable
, SectionTable
и ElementTable
для получения информации об инфоблоках, их разделах и элементах. Это демонстрирует, как D7 позволяет работать с данными более эффективно.
Другие банальные функции php
Вывод форматированной цены товара:
<?=number_format(min($arItem["DISPLAY_PROPERTIES"]["ATT_PRICE"]["VALUE"]), 0, '', ' ');?>
Этот код показывает, как можно отформатировать и вывести цену товара, добавляя пробелы между тысячами для улучшения читаемости.