Автор: goroshcko

Я Full-stack web-программист с более чем 4-летним опытом работы в разработке сайтов и приложений, использую передовые технологии и языки программирования.

Манипуляции с массивами в 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 это делается через цепочку связанных объектов.

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

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

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. Она учитывает настройки прокси сервера (из