xtt / hlhelpers
此包的最新版本(v1.0.6)没有可用的许可证信息。
Highloadblock Bitrix 辅助工具
v1.0.6
2023-02-01 22:39 UTC
Requires
- php: >=5.4
This package is auto-updated.
Last update: 2024-09-30 01:38:07 UTC
README
用于 1С-Битри克斯 highloadblock 的一组方法
内容
- 如何安装
- 处理 HighloadBlockTable
- 元素操作
- 处理列表字段
- 在 HighloadBlock 中工作的灵活性
- 在 "列表" 字段中工作的灵活性
安装
方法 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); ?>
根据 ID 更新 HighloadBlockTable 中的字段
<?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, как результат ?>
根据 UF_NAME 更新 HighloadBlockTable 中的字段
<?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); ?>
从 highloadblock 获取其 XML_ID 的 "列表" 值
<?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=[])