О разделе «API Битрикс»
API Битрикс в 1С-Битрикс: статьи, инструкции и примеры кода из базы знаний Bitrix-Help.
CIBlockElement, CIBlockSection, CUser и другие классы
43 материалов

CFile::SaveFile ожидает массив в определённом формате — но не всегда исходные данные приходят готовым файлом с диска. Разберём CFile::MakeFileArray, который упрощает подготовку такого массива из пути или URL, избавляя от ручного формирования структуры вручную. Базовое использование с локальным путём <?php $fileArray = CFile::MakeFileArray(‘/path/to/local/image.jpg’); $fileId = CFile::SaveFile($fileArray, ‘catalog’); MakeFileArray берёт на себя формирование массива с нужными ключами (name, type, tmp_name, size)…

CUser::Add создаёт пользователя из кода — в обход штатной формы регистрации на сайте. Метод нужен при импорте базы клиентов, при создании учётной записи после оформления гостевого заказа или при синхронизации с внешней системой. Базовый вызов <?php $user = new CUser; $fields = [ ‘LOGIN’ => ‘ivan_petrov’, ‘EMAIL’ => ‘ivan@example.com’, ‘PASSWORD’ => ‘x7K9mPq2’, ‘CONFIRM_PASSWORD’ => ‘x7K9mPq2’, ‘NAME’ => ‘Иван’, ‘LAST_NAME’ =>…

Для чтения одного свойства одного элемента инфоблока в API есть несколько путей — и не все они одинаково эффективны. Разберём CIBlockElement::GetProperty в сравнении с GetList, и когда использование каждого из них оправдано. CIBlockElement::GetProperty <?php $result = CIBlockElement::GetProperty( $iblockId, $elementId, [‘sort’ => ‘asc’], [‘CODE’ => ‘COLOR’] ); while ($property = $result->Fetch()) { echo $property[‘VALUE’]; } Этот метод специализирован именно на получении…

Завершение сессии пользователя выглядит как простая операция, но имеет несколько нюансов — от разницы между выходом текущего пользователя и принудительным завершением чужой сессии до того, что реально происходит с данными при вызове. Разберём CUser::Logout. Базовый вызов для текущего пользователя <?php global $USER; $USER->Logout(); LocalRedirect(‘/’); Logout() завершает сессию текущего авторизованного пользователя — удаляет данные авторизации из сессии и очищает связанные cookie….

Классы CSite и CLang дают программный доступ к настройкам сайтов и языков установки — той же информации, что видна в административной панели через карточки сайтов и языковые настройки. Разберём их основные методы и типичные сценарии использования. Получение информации о текущем сайте <?php $siteId = SITE_ID; $site = CSite::GetByID($siteId)->Fetch(); echo $site[‘NAME’]; echo $site[‘SERVER_NAME’]; echo $site[‘EMAIL’]; Константа SITE_ID доступна в контексте выполнения…

CUser::GetList — основной способ выбрать пользователей из базы по условию: активных, из определённой группы, зарегистрированных за период, с заполненным конкретным полем. Метод старого ядра, но по-прежнему рабочий и распространённый вариант для таких выборок. Базовый вызов <?php $result = CUser::GetList( $by = ‘ID’, $order = ‘ASC’, [‘ACTIVE’ => ‘Y’], [‘SELECT’ => [‘UF_PHONE’]] ); while ($user = $result->Fetch()) { echo $user[‘LOGIN’] ….

CUser::Authorize авторизует пользователя программно — без формы входа, без проверки пароля через интерфейс. Метод нужен там, где вход происходит по иной логике: после подтверждения по ссылке из письма, после успешной оплаты гостевого заказа, при входе через внешний сервис. Разберём сигнатуру метода, разницу между обычной и «тихой» авторизацией и типичные ошибки, из-за которых пользователь остаётся неавторизованным несмотря на успешный вызов. Базовый…

CIBlock — класс для работы с самими инфоблоками из кода: их созданием, изменением настроек и удалением. Не путайте с CIBlockElement, который работает с элементами внутри инфоблока, — здесь речь о самом контейнере. Получение списка инфоблоков <?php $result = CIBlock::GetList( [‘SORT’ => ‘ASC’], [‘TYPE’ => ‘catalog’, ‘ACTIVE’ => ‘Y’] ); while ($iblock = $result->Fetch()) { echo $iblock[‘ID’] . ‘ — ‘…

COption — хранилище настроек старого ядра 1С-Битрикс, работающее с теми же данными, что и современный Bitrix\Main\Config\Option из D7. Значение, записанное одним классом, читается другим без каких-либо преобразований — это одна и та же таблица в базе. Основные методы <?php // запись строки COption::SetOptionString(‘myproject’, ‘api_key’, ‘abc123’); // чтение строки со значением по умолчанию $key = COption::GetOptionString(‘myproject’, ‘api_key’, ‘default’); // запись и…

CModule::IncludeModule — предшественник современного Loader::includeModule из D7. В коде старого ядра и во множестве чужих решений из Маркетплейса он встречается до сих пор, и разработчику важно понимать оба варианта одинаково хорошо. Базовый вызов <?php if (CModule::IncludeModule(‘iblock’)) { $result = CIBlockElement::GetList([], [‘IBLOCK_ID’ => 5]); } else { // модуль недоступен } Метод возвращает true при успешном подключении и false при неудаче…
API Битрикс в 1С-Битрикс: статьи, инструкции и примеры кода из базы знаний Bitrix-Help.