All Projects → darkfriend → hlhelpers

darkfriend / hlhelpers

Licence: Apache-2.0 license
Набор методов для работы с highloadblock 1С-Битрикс

Programming Languages

PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to hlhelpers

bx-data
Удобные классы для 1C-Bitrix.
Stars: ✭ 24 (+33.33%)
Mutual labels:  highload, bitrix
DevExpress4Delphi
Class helper for DevExpress components
Stars: ✭ 22 (+22.22%)
Mutual labels:  helper
MagicaVoxel File Writer
MagicaVoxel File Writer dependency free cpp class
Stars: ✭ 26 (+44.44%)
Mutual labels:  helper
IDCardNumber-Validator
An Objective-C & Swift implementation to (check) validate Chinese ID Card No. 身份证号码验证
Stars: ✭ 15 (-16.67%)
Mutual labels:  helper
highloadcup2018
HighLoad Cup 2018
Stars: ✭ 14 (-22.22%)
Mutual labels:  highload
UCAS-Helper
国科大(UCAS, ucas)校园网登录、课程资源下载、自动评教和分数查询助手
Stars: ✭ 105 (+483.33%)
Mutual labels:  helper
PREBorderView
A very simple Objective-C UIView category for specifying single-sided borders.
Stars: ✭ 18 (+0%)
Mutual labels:  helper
tilegrinder
♻️ A node.js GIS helper library for easy alteration of Vector Tiles in an MBTiles container
Stars: ✭ 64 (+255.56%)
Mutual labels:  helper
RaycastVisualization
This asset allows users to view raycasts as the user fires them.
Stars: ✭ 61 (+238.89%)
Mutual labels:  helper
ideas
Идеи по улучшению языка C++ для обсуждения
Stars: ✭ 65 (+261.11%)
Mutual labels:  helper
nest-abstract
NestJs Abstraction Helper
Stars: ✭ 36 (+100%)
Mutual labels:  helper
csshelper
CSS helper, forget traditional css frameworks approach, every class is a task-like
Stars: ✭ 14 (-22.22%)
Mutual labels:  helper
bitrix-redis
Bitrix Cache with phpredis / Кэш Битрикс на Redis
Stars: ✭ 23 (+27.78%)
Mutual labels:  bitrix
bitrixclear
Чистый шаблон 1С-Битрикс / Clear template 1C-Bitrix
Stars: ✭ 20 (+11.11%)
Mutual labels:  bitrix
aws-mobilehub-helper-ios
ARCHIVED: Use https://github.com/aws/aws-sdk-ios/
Stars: ✭ 41 (+127.78%)
Mutual labels:  helper
xd-storage-helper
A little helper to make storing key-value-pairs (e.g. settings) for Adobe XD plugins easier.
Stars: ✭ 22 (+22.22%)
Mutual labels:  helper
metacom
RPC communication protocol for Metarhia stack 🔌
Stars: ✭ 42 (+133.33%)
Mutual labels:  highload
slicy
A set of typesafe chainable slice helpers to reduce pain of working with slices
Stars: ✭ 18 (+0%)
Mutual labels:  helper
rust-file
Trivial 1-liner for reading files
Stars: ✭ 15 (-16.67%)
Mutual labels:  helper
hubot-suggest
Suggest hubot commands when not found
Stars: ✭ 29 (+61.11%)
Mutual labels:  helper

HLHelpers

Набор методов для работы с highloadblock 1С-Битрикс

Содержание

Установка

Способ 1:

  • Переходим в папку /local/php_interface/lib/
  • composer require darkfriend/hlhelpers
  • В файле /local/php_interface/init.php пишем require __DIR__.'/lib/vendor/autoload.php'
  • Готово

Способ 2:

  • Копируем репозиторий в папку /local/php_interface/lib/
  • В файле /local/php_interface/init.php пишем require __DIR__.'/lib/hlhelpers/HLHelpers.php'
  • Готово

Как пользоваться?

Создать HighloadBlockTable

<?php
    use Darkfriend\HLHelpers;
    $nameHLBlock = 'TestHlBlock';
    $tableName = 'test_table_hl_block';
    $id = HLHelpers::getInstance()->create($nameHLBlock,$tableName);
    print_r($id); // id|false HighloadBlock
    // если $id === false
    // print_r(HLHelpers::$LAST_ERROR);
?>

Добавить поле в HighloadBlockTable

<?php
    use Darkfriend\HLHelpers;
    $hlblockID = 1;
    // описание какие данные указывать в $arFields тут https://dev.1c-bitrix.ru/learning/course/?COURSE_ID=43&LESSON_ID=3496
    $arField = [
    	'FIELD_NAME' => 'UF_TEST',
        'USER_TYPE_ID' => 'string',
        'SORT' => '100',
        'MULTIPLE' => 'N',
        'MANDATORY' => 'N',
        'SETTINGS' => [
            'DEFAULT_VALUE' => 'empty',
        ],
        'EDIT_FORM_LABEL' => [
            'ru' => 'Тестовое поле',
            'en' => 'Test field',
        ],
        'LIST_COLUMN_LABEL' => [
            'ru' => 'Тестовое поле',
            'en' => 'Test field',
        ],
    ];
    $id = HLHelpers::getInstance()->addField($hlblockID,$arField);
    print_r($id); // id|false поля
    // если $id === false
    // print_r(HLHelpers::$LAST_ERROR);
?>

Обновить поле в HighloadBlockTable по ID

<?php
    use Darkfriend\HLHelpers;
    $hlblockID = 1;
    $fieldID = 1;
    $arField = [
        'SORT' => '100',
        'MANDATORY' => 'Y',
        'SETTINGS' => [
            'DEFAULT_VALUE' => 'empty',
        ],
        'EDIT_FORM_LABEL' => [
            'ru' => 'Тестовое поле',
            'en' => 'Test field',
        ],
        'LIST_COLUMN_LABEL' => [
            'ru' => 'Тестовое поле',
            'en' => 'Test field',
        ],
    ];
    $id = HLHelpers::getInstance()->updateField($hlblockID, $fieldID, $arField);
    print_r($id); // bool, как результат
?>

Обновить поле в HighloadBlockTable по UF_NAME

<?php
    use Darkfriend\HLHelpers;
    $hlblockID = 1;
    $ufName = 'UF_TEST';
    $arField = [
        'SORT' => '100',
        'MANDATORY' => 'Y',
        'SETTINGS' => [
            'DEFAULT_VALUE' => 'empty',
        ],
        'EDIT_FORM_LABEL' => [
            'ru' => 'Тестовое поле',
            'en' => 'Test field',
        ],
        'LIST_COLUMN_LABEL' => [
            'ru' => 'Тестовое поле',
            'en' => 'Test field',
        ],
    ];
    $id = HLHelpers::getInstance()->updateFieldByName($hlblockID, $ufName, $arField);
    print_r($id); // bool, как результат
?>

Удалить поле или поля в HighloadBlockTable

<?php
    use Darkfriend\HLHelpers;
    $hlblockID = 1;
    $result = HLHelpers::getInstance()->removeFields($hlblockID,[
        'UF_FIELD_1',
        'UF_FIELD_2',
    ]);
    print_r($result); // true|false
?>

Удалить HighloadBlockTable

<?php
    use Darkfriend\HLHelpers;
    $hlblockID = 1;
    $result = HLHelpers::getInstance()->deleteHighloadBlock($hlblockID);
    print_r($result);
?>

Получить все highloadblock

<?php 
    use Darkfriend\HLHelpers;
    $arHL = HLHelpers::getInstance()->getList();
    print_r($arHL);
?>

Получить все элементы highloadblock

<?php 
    use Darkfriend\HLHelpers;
    $hlID = 1; // идентификатор highloadblock
    
    $arHlElements = HLHelpers::getInstance()->getElementList($hlID);
    print_r($arHlElements);
?>

Получить количество строк в highloadblock

<?php 
    use Darkfriend\HLHelpers;
    $hlID = 1; // идентификатор highloadblock
    $filters = ['UF_FIELD_FIILTER'=>1];
    $totalElements = HLHelpers::getInstance()->getTotalCount($hlID, $filters);
    print_r($totalElements);
?>

Добавить новый элемент в highloadblock

<?php 
    use Darkfriend\HLHelpers;
    $hlID = 1; // идентификатор highloadblock
    // массив добавляемых значений, колонка=>значение
    $arFields = [
        'UF_FIELD1' => 'VALUE'
        ...
    ];
    
    $id = HLHelpers::getInstance()->addElement($hlID, $arFields);
    var_dump($id);
    // при false ошибка будет в HLHelpers::$LAST_ERROR
?>

Обновить элемент в highloadblock

<?php 
    use Darkfriend\HLHelpers;
    $hlID = 1; // идентификатор highloadblock
    $elID = 1; // идентификатор элемента
    // массив обновляемых значений, колонка=>значение
    $arFields = [
        'UF_FIELD1' => 'VALUE2'
        ...
    ];
    
    $isUpd = HLHelpers::getInstance()->updateElement($hlID, $elID, $arFields);
    var_dump($isUpd);
    // при false ошибка будет в HLHelpers::$LAST_ERROR
?>

Удалить элемент из highloadblock

<?php 
    use Darkfriend\HLHelpers;
    $hlID = 1; // идентификатор highloadblock
    $elID = 1; // идентификатор элемента
    
    $isDel = HLHelpers::getInstance()->deleteElement($hlID, $elID);
    var_dump($isDel);
    // при false ошибка будет в HLHelpers::$LAST_ERROR
?>

Работа с полем вида "список" в highloadblock

Получить все значения поля список у highloadblock

<?php 
    use Darkfriend\HLHelpers;
    $fieldName = "UF_FIELD"; // название поля
    
    $arValues = HLHelpers::getInstance()->getFieldValues($fieldName);
    print_r($arValues);
?>

Получить значение списка из highloadblock

<?php 
    use Darkfriend\HLHelpers;
    $fieldName = "UF_FIELD"; // название поля
    $valID = 1; // идентификатор значения
    
    $arValue = HLHelpers::getInstance()->getFieldValue($fieldName,$valID);
    print_r($arValue);
?>

Получить значение списка по его XML_ID из highloadblock

<?php 
    use Darkfriend\HLHelpers;
    $fieldName = "UF_FIELD"; // название поля
    $codeName = "CODE_VALUE"; // XML_ID значения
    
    $arValue = HLHelpers::getInstance()->getFieldValueByCode($fieldName,$codeName);
    print_r($arValue);
?>

Гибкость в работе с highloadblock

Для обеспечения лучшей гибкости использовать:

  • getEntityTable($hlblockID)
  • getElementsResource($hlblockID,$arFilter=[],$arOrder=["ID" => "ASC"],$arSelect=['*'],$arMoreParams=[])

Гибкость в работе с полем вида "список" у highloadblock

Для обеспечения лучшей гибкости использовать:

  • getFieldValuesList($arSort=['SORT'=>'ASC'],$arFilter=[])
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].