Bataline Framework и 1С-Битрикс — качество, удобство, быстрота

в 13:10, , рубрики: 1С-Битрикс, php, ооп, метки: , ,

Основное, что может отпугнуть сильных веб-разработчиков от перехода на 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

Вместо заключения:

Самая актуальная версия модуля находится в репозитории на GitHub по адресу: github.com/pimax/bataline-framework
Примеры компонентов, разработанных с использованием модуля: На Github
Сайт модуля: bataline-framework.ru/
Ну и конечно ссылка на модуль в каталоге Макетплейс: marketplace.1c-bitrix.ru/solutions/bataline.framework/

Автор: pimax

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js