Руководство по работе с классом Loader в Bitrix D7

Внимание! Раздел находится в стадии разработки. Комментарии временно недоступны
Страницы: 1
RSS
Руководство по работе с классом Loader в Bitrix D7
Руководство по работе с классом Loader в Bitrix D7

Loader – это специальный класс в D7 (новом ядре  1С-Битрикс), предназначенный для подключения необходимых файлов, классов  и модулей. Именно его рекомендуется включать напрямую при работе с  Bitrix D7. Он выполняет роль «загрузчика» практически всех модулей  (кроме main и fileman, которые считаются базовыми для работы самого фреймворка). По сути, Loader является аналогом старого класса CModule, но с учетом современной архитектуры D7.

Этот код получает первые 10 товаров из каталога, фильтруя только активные элементы, используя ссылочное поле (ReferenceField) для соединения с таблицей элементов инфоблока, где хранится признак активности.

Код
use Bitrix\Main\Loader;
use Bitrix\Catalog\ProductTable;

if (!Loader::includeModule('iblock') || !Loader::includeModule('catalog')) {
    die('Не подключены модули iblock или catalog');
}

// Запрос к ProductTable с присоединением элемента инфоблока для фильтрации по ACTIVE
$query = ProductTable::query()
    ->setSelect(['ID', 'NAME' => 'IBLOCK_ELEMENT.NAME'])
    ->registerRuntimeField(
        (new \Bitrix\Main\Entity\ReferenceField(
            'IBLOCK_ELEMENT',
            \Bitrix\Iblock\ElementTable::class,
            ['=this.ID' => 'ref.ID']
        ))->configureJoinType('INNER')
    )
    ->setFilter(['=IBLOCK_ELEMENT.ACTIVE' => 'Y'])
    ->setLimit(10);

$result = $query->exec();

while ($product = $result->fetch()) {
    echo "Товар: {$product['NAME']} (ID: {$product['ID']})<br>";
}
Изменено: Валерий Макеев - 04.09.2025 12:39:07
Этот код демонстрирует создание нового заказа в интернет-магазине на платформе 1С-Битрикс с использованием D7 API, включая инициализацию корзины, добавление товара, установку свойств заказа и обработку результата сохранения.
Код
<?php
// Подключаем пролог Битрикс для инициализации среды
require_once $_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_before.php';

use Bitrix\Main\Loader;

// Проверяем подключение модуля sale
if (Loader::includeModule('sale')) {
    // Создаем объект корзины для текущего сайта (s1)
    $basket = Bitrix\Sale\Basket::create('s1');
    
    // Добавляем товар в корзину (ID товара = 1)
    $item = $basket->createItem('catalog', 1);
    $item->setFields([
        'QUANTITY' => 1, // Количество товара
        'CURRENCY' => Bitrix\Currency\CurrencyManager::getBaseCurrency(), // Валюта по умолчанию
        'LID' => Bitrix\Main\Context::getCurrent()->getSite(), // ID текущего сайта
        'PRODUCT_PROVIDER_CLASS' => 'CCatalogProductProvider', // Класс для работы с товарами
    ]);
    
    // Получаем ID текущего пользователя
    $userId = $GLOBALS['USER']->GetID();
    
    // Создаем заказ с указанием сайта и пользователя
    $order = Bitrix\Sale\Order::create('s1', $userId);
    $order->setBasket($basket); // Привязываем корзину к заказу
    $order->setPersonTypeId(1); // Устанавливаем тип плательщика (физическое лицо)
    
    // Работаем со свойствами заказа
    $propertyCollection = $order->getPropertyCollection();
    $emailProp = $propertyCollection->getUserEmail(); // Получаем свойство "Email"
    if ($emailProp) {
        $emailProp->setValue('test@example.com'); // Устанавливаем значение email
    }
    
    // Сохраняем заказ и проверяем результат
    $result = $order->save();
    if ($result->isSuccess()) {
        echo "Создан заказ #" . $order->getId(); // Выводим номер заказа
    } else {
        print_r($result->getErrors()); // Выводим ошибки если есть
    }
} else {
    echo "Модуль Интернет-магазина не установлен";
}
Страницы: 1

Стоимость услуг по разработке и сопровождению сайтов на 1C-Битрикс

Аутсорсинг

готов помочь, если нет времени

договорная

Могу взять на себя работы по full-stack

* на основе готовой верстки

Перенос сайтов на «1С-Битрикс»

сайты на платформе «1С-Битрикс» — это удобство, надежность и высокая посещаемость

от 12 000 рублей
Перенос сайтов с любых CMS и статичных страниц на платформу «1С-Битрикс», с учетом дизайна, верстки и урл-адресов. С сохранением всей информации и структуры сайта.

* зависит от объема выполняемых работ.

Техническая поддержка

выполняется с сайтами на основе любых CMS

от 5 000 рублей
Оптимизация производительности действующих интернет-проектов, наполнение и сопровождение, полная техническая поддержка и продвижение в поисковых сетях.

* стоимость зависит от объема и сложности выполняемых работ, используемой CMS.