mail@vecdev.ru

Основные методы, функции и классы в 1С-Битрикс

На этой странице я собираю основные классы, методы и функции в 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, '', ' ');?>
    

Этот код показывает, как можно отформатировать и вывести цену товара, добавляя пробелы между тысячами для улучшения читаемости.

Частный разработчик сайтов Vector Dev
Комментарии