https://github.com/darkfriend/hlhelpers
Набор методов для работы с highloadblock 1С-Битрикс
https://github.com/darkfriend/hlhelpers
bitrix bitrix-d7 helper highload php
Last synced: 8 months ago
JSON representation
Набор методов для работы с highloadblock 1С-Битрикс
- Host: GitHub
- URL: https://github.com/darkfriend/hlhelpers
- Owner: darkfriend
- License: apache-2.0
- Created: 2017-04-25T02:50:41.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2023-02-01T22:41:49.000Z (about 3 years ago)
- Last Synced: 2024-03-14T15:46:17.923Z (about 2 years ago)
- Topics: bitrix, bitrix-d7, helper, highload, php
- Language: PHP
- Size: 26.4 KB
- Stars: 22
- Watchers: 4
- Forks: 7
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# HLHelpers
Набор методов для работы с highloadblock 1С-Битрикс
Содержание
----
* [Как установить](#install)
* Работа с HighloadBlockTable
+ [Получить все highloadblock](#ListHighloadBlock)
+ [Создать HighloadBlockTable](#CreateHighloadBlock)
+ [Добавить поле в HighloadBlockTable](#AddFieldHighloadBlock)
+ [Обновить поле в HighloadBlockTable по ID](#UpdateFieldHighloadBlock)
+ [Обновить поле в HighloadBlockTable по UF_NAME](#UpdateFieldHighloadBlockByUF)
+ [Удалить поле или поля в HighloadBlockTable](#DeleteFieldHighloadBlock)
+ [Удалить HighloadBlockTable](#DeleteHighloadBlock)
* Работа с элементами
+ [Получить все элементы](#ListElements)
+ [Получить количество строк](#CountElements)
+ [Добавить новый элемент](#AddElement)
+ [Обновить элемент](#UpdateElement)
+ [Удалить элемент](#DelElement)
* Работа с полем вида список
+ [Получить все значения списка](#GetValuesFieldList)
+ [Получить 1 значение списка](#GetValueFieldList)
+ [Получить 1 значение списка по его XML_ID](#GetValueFieldListByXmlId)
* [Гибкость в работе с HighloadBlock](#FlexHighloadBlock)
* [Гибкость в работа с полем "список"](#FlexFieldValuesList)
#### Способ 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
create($nameHLBlock,$tableName);
print_r($id); // id|false HighloadBlock
// если $id === false
// print_r(HLHelpers::$LAST_ERROR);
?>
```
### Добавить поле в HighloadBlockTable
```php
'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
'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
'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
removeFields($hlblockID,[
'UF_FIELD_1',
'UF_FIELD_2',
]);
print_r($result); // true|false
?>
```
### Удалить HighloadBlockTable
```php
deleteHighloadBlock($hlblockID);
print_r($result);
?>
```
### Получить все highloadblock
```php
getList();
print_r($arHL);
?>
```
### Получить все элементы highloadblock
```php
getElementList($hlID);
print_r($arHlElements);
?>
```
### Получить количество строк в highloadblock
```php
1];
$totalElements = HLHelpers::getInstance()->getTotalCount($hlID, $filters);
print_r($totalElements);
?>
```
### Добавить новый элемент в highloadblock
```php
значение
$arFields = [
'UF_FIELD1' => 'VALUE'
...
];
$id = HLHelpers::getInstance()->addElement($hlID, $arFields);
var_dump($id);
// при false ошибка будет в HLHelpers::$LAST_ERROR
?>
```
### Обновить элемент в highloadblock
```php
значение
$arFields = [
'UF_FIELD1' => 'VALUE2'
...
];
$isUpd = HLHelpers::getInstance()->updateElement($hlID, $elID, $arFields);
var_dump($isUpd);
// при false ошибка будет в HLHelpers::$LAST_ERROR
?>
```
### Удалить элемент из highloadblock
```php
deleteElement($hlID, $elID);
var_dump($isDel);
// при false ошибка будет в HLHelpers::$LAST_ERROR
?>
```
## Работа с полем вида "список" в highloadblock
### Получить все значения поля список у highloadblock
```php
getFieldValues($fieldName);
print_r($arValues);
?>
```
### Получить значение списка из highloadblock
```php
getFieldValue($fieldName,$valID);
print_r($arValue);
?>
```
### Получить значение списка по его XML_ID из highloadblock
```php
getFieldValueByCode($fieldName,$codeName);
print_r($arValue);
?>
```
## Гибкость в работе с highloadblock
Для обеспечения лучшей гибкости использовать:
* `getEntityTable($hlblockID)`
* `getElementsResource($hlblockID,$arFilter=[],$arOrder=["ID" => "ASC"],$arSelect=['*'],$arMoreParams=[])`
## Гибкость в работе с полем вида "список" у highloadblock
Для обеспечения лучшей гибкости использовать:
* `getFieldValuesList($arSort=['SORT'=>'ASC'],$arFilter=[])`