Рубрика: 1C-Битрикс

Разработка интернет-магазинов, порталов и мобильные приложения на 1С-Битрикс.

Манипуляции с массивами в D7: Класс \Bitrix\Main\Type\CollectionМанипуляции с массивами в D7: Класс \Bitrix\Main\Type\Collection

В PHP работа с многомерными массивами (например, сортировка списка товаров по цене) часто требует написания громоздких usort с замыканиями. В ядре D7 есть статический класс \Bitrix\Main\Type\Collection, который содержит набор готовых инструментов для частых

Подключение Пользовательских полей (UF) к своим ORM-сущностямПодключение Пользовательских полей (UF) к своим ORM-сущностям

Мы привыкли, что пользовательские поля можно добавлять к разделам, пользователям или Highload-блокам. Но что, если вы создали свою таблицу (ORM-сущность) и хотите дать администраторам возможность добавлять к ней новые поля

Отложенные функции в шаблонах: SetViewTarget и ShowViewContentОтложенные функции в шаблонах: SetViewTarget и ShowViewContent

Частая задача верстальщика: компонент (например, детальная новость) выводится в основной области контента, но какую-то его часть (дату, теги, кнопку «Поделиться») нужно отобразить в другом месте — например, в боковой колонке

E-commerce в D7: Программное создание заказа (Bitrix\Sale\Order)E-commerce в D7: Программное создание заказа (Bitrix\Sale\Order)

Программное создание заказа — задача, возникающая при импорте заказов, создании «заказа в 1 клик» или разработке своего API. В D7 это делается через цепочку связанных объектов. Шаг 1: Создание объекта

E-commerce в D7: Управление корзиной (Bitrix\Sale\Basket)E-commerce в D7: Управление корзиной (Bitrix\Sale\Basket)

 Работа с корзиной — основа любого интернет-магазина. Старые методы CSaleBasket ушли в прошлое. В D7 используется мощная объектная модель Bitrix\Sale\Basket, которая автоматически учитывает скидки, правила работы с корзиной и привязку к пользователю. 1.

Bitrix\Main\Update\Stepper: Обработка больших данных по шагам с прогресс-баромBitrix\Main\Update\Stepper: Обработка больших данных по шагам с прогресс-баром

Когда нужно обработать 100 000 элементов или импортировать огромный файл, обычный скрипт упадет с ошибкой max_execution_time. Решение — выполнять задачу порциями (по шагам). В Битрикс для этого есть стандартный и красивый

Сериализация в D7 ORM: Хранение массивов и объектов в базе с save_data_modificationСериализация в D7 ORM: Хранение массивов и объектов в базе с save_data_modification

Часто возникает задача сохранить в одном поле базы данных сложную структуру: массив настроек, JSON-объект или список ID. D7 ORM позволяет автоматизировать процесс «упаковки» данных при записи и «распаковки» при чтении.

Постраничная навигация в D7: Класс Bitrix\Main\UI\PageNavigationПостраничная навигация в D7: Класс Bitrix\Main\UI\PageNavigation

В старом ядре навигация была жестко привязана к объекту результата выборки (CDBResult). В D7 навигация — это отдельный, независимый объект, который «знает» о текущей странице и размере выборки. Он используется

Программное создание пользовательских полей (UF): CUserTypeEntity и CUserFieldEnumПрограммное создание пользовательских полей (UF): CUserTypeEntity и CUserFieldEnum

Создавать пользовательские поля («кликая» в админке) удобно только на этапе прототипирования. Когда проект переходит в стадию поддержки и деплоя, все изменения структуры БД должны выполняться программно (в миграциях или агентах).

Bitrix\Main\Web\HttpClient: Правильная отправка GET и POST запросов (замена cURL)Bitrix\Main\Web\HttpClient: Правильная отправка GET и POST запросов (замена cURL)

Многие разработчики по привычке используют стандартные функции PHP curl_* для обращения к внешним сервисам. Однако в Битрикс есть собственная мощная обертка — \Bitrix\Main\Web\HttpClient. Она учитывает настройки прокси сервера (из .settings.php), корректно работает с