- PVSM.RU - https://www.pvsm.ru -
Основное, что может отпугнуть сильных веб-разработчиков от перехода на CMS 1С-Битрикс — это количество и качество кода, необходимое для выполнения стандартных процедур для манипуляции с данными (создание, изменение, удаление и просмотр).
В самом деле, эти GetList’ы в сложных компонентах превращаются в бесконечный поток кода, по-сути не выполняющего никакой бизнес-логики.
Мы нашли решение, а точнее создали его. Встречайте Bataline Framework.
Bataline Framework — это обновляемый программный модуль для 1С-Битрикс, устанавливаемый через 1С-Битрикс Marketplace, позволяющий существенно оптимизировать процесс разработки проектов на основе 1С-Битрикс.
Основной упор при разработке модуля был сделан на оптимизацию работы с данными в инфоблоках, т.к. именно этот модуль является основным хранилищем данных. Нам удалось добиться существенного увеличения скорости разработки и качества кода компонентов.
Прежде всего для разработчиков, которые желают увеличить качество разрабатываемых интернет проектов на 1С-Битрикс, и существенно сократить время и ресурсы, затрачиваемые на разработку.
Получение элементов инфоблока:
$oCollection = IbFinder::getInstance()->select('*')
->from(‘news’)
->order(‘pos desc’)
->limit(10)
->fetchAll();
В данном примере производится выборка коллекции из 10 элементов из инфоблока новостей.
Создание элемента инфоблока:
if (!empty($_POST['com']))
{
$attr = $_POST['com'];
$attr['Active'] = "Y";
$attr['Code'] = time();
$object = new BatalineObject($attr, intval($arParams["IBLOCK_ID"]));
if ($object->save())
{
$arResult['success'] = true;
}
}
Создаем новый элемент инфоблока IBLOCK_ID, данные для полей берем из отправленной формы.
Пример обновления элемента:
$oItem = IbFinder::getInstance()->select('*')
->from($arParams["IBLOCK_ID"])
->where(array('Id' => $arParams["ELEMENT_ID"]))
->fetch();
$oItem->setName(‘Новое название’);
$oItem->save();
Получаем элемент по идентификатору, присваиваем новое название и отправляем запрос на сохранение.
Пример удаления элемента:
$oItem = IbFinder::getInstance()->select('*')
->from($arParams["IBLOCK_ID"])
->where(array('Id' => $arParams["ELEMENT_ID"]))
->fetch();
$oItem->delete();
Тут все совсем просто — получаем элемент по идентификатору и удаляем его.
Нет. Помимо работы с элементами инфоблоков, модуль позволяет работать с разделами инфоблоков, пользователями, оптимизирует работу с изображениями, свойствами элементов и датой со временем.
Все функционал описан в документации разработчика, доступной на промо-сайте: bataline-framework.ru [1]
Самая актуальная версия модуля находится в репозитории на GitHub по адресу: github.com/pimax/bataline-framework [2]
Примеры компонентов, разработанных с использованием модуля: На Github [3]
Сайт модуля: bataline-framework.ru/ [4]
Ну и конечно ссылка на модуль в каталоге Макетплейс: marketplace.1c-bitrix.ru/solutions/bataline.framework/ [5]
Автор: pimax
Источник [6]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/php-2/34461
Ссылки в тексте:
[1] bataline-framework.ru: http://bataline-framework.ru
[2] github.com/pimax/bataline-framework: https://github.com/pimax/bataline-framework
[3] На Github: https://github.com/pimax/bataline-framework/tree/master/bataline.framework/_components
[4] bataline-framework.ru/: http://bataline-framework.ru/
[5] marketplace.1c-bitrix.ru/solutions/bataline.framework/: http://marketplace.1c-bitrix.ru/solutions/bataline.framework/
[6] Источник: http://habrahabr.ru/post/179939/
Нажмите здесь для печати.