{"id":23181341,"url":"https://github.com/darkfriend/hlhelpers","last_synced_at":"2025-08-18T13:33:42.652Z","repository":{"id":56962446,"uuid":"89310225","full_name":"darkfriend/hlhelpers","owner":"darkfriend","description":"Набор методов для работы с highloadblock 1С-Битрикс","archived":false,"fork":false,"pushed_at":"2023-02-01T22:41:49.000Z","size":27,"stargazers_count":22,"open_issues_count":1,"forks_count":7,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-03-14T15:46:17.923Z","etag":null,"topics":["bitrix","bitrix-d7","helper","highload","php"],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/darkfriend.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-04-25T02:50:41.000Z","updated_at":"2023-08-21T11:17:03.000Z","dependencies_parsed_at":"2023-02-17T11:45:37.915Z","dependency_job_id":null,"html_url":"https://github.com/darkfriend/hlhelpers","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darkfriend%2Fhlhelpers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darkfriend%2Fhlhelpers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darkfriend%2Fhlhelpers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darkfriend%2Fhlhelpers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/darkfriend","download_url":"https://codeload.github.com/darkfriend/hlhelpers/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230238227,"owners_count":18194988,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bitrix","bitrix-d7","helper","highload","php"],"created_at":"2024-12-18T08:15:15.964Z","updated_at":"2024-12-18T08:15:16.755Z","avatar_url":"https://github.com/darkfriend.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# HLHelpers\nНабор методов для работы с highloadblock 1С-Битрикс\n\nСодержание\n----\n* [Как установить](#install)\n* Работа с HighloadBlockTable\n    + [Получить все highloadblock](#ListHighloadBlock)\n    + [Создать HighloadBlockTable](#CreateHighloadBlock)\n    + [Добавить поле в HighloadBlockTable](#AddFieldHighloadBlock)\n    + [Обновить поле в HighloadBlockTable по ID](#UpdateFieldHighloadBlock)\n    + [Обновить поле в HighloadBlockTable по UF_NAME](#UpdateFieldHighloadBlockByUF)\n    + [Удалить поле или поля в HighloadBlockTable](#DeleteFieldHighloadBlock)\n    + [Удалить HighloadBlockTable](#DeleteHighloadBlock)\n* Работа с элементами\n    + [Получить все элементы](#ListElements)\n    + [Получить количество строк](#CountElements)\n    + [Добавить новый элемент](#AddElement)\n    + [Обновить элемент](#UpdateElement)\n    + [Удалить элемент](#DelElement)\n* Работа с полем вида список\n    + [Получить все значения списка](#GetValuesFieldList)\n    + [Получить 1 значение списка](#GetValueFieldList)\n    + [Получить 1 значение списка по его XML_ID](#GetValueFieldListByXmlId)\n* [Гибкость в работе с HighloadBlock](#FlexHighloadBlock)\n* [Гибкость в работа с полем \"список\"](#FlexFieldValuesList)\n\n## \u003ca name=\"install\"\u003e\u003c/a\u003e Установка\n\n#### Способ 1:\n*  Переходим в папку `/local/php_interface/lib/`\n* `composer require darkfriend/hlhelpers`\n* В файле `/local/php_interface/init.php` пишем ```require __DIR__.'/lib/vendor/autoload.php'```\n* Готово\n\n#### Способ 2:\n*  Копируем репозиторий в папку `/local/php_interface/lib/`\n* В файле `/local/php_interface/init.php` пишем ```require __DIR__.'/lib/hlhelpers/HLHelpers.php'```\n* Готово\n\n## Как пользоваться?\n\n### \u003ca name=\"CreateHighloadBlock\"\u003e\u003c/a\u003e Создать HighloadBlockTable\n\n```php\n\u003c?php\n    use Darkfriend\\HLHelpers;\n    $nameHLBlock = 'TestHlBlock';\n    $tableName = 'test_table_hl_block';\n    $id = HLHelpers::getInstance()-\u003ecreate($nameHLBlock,$tableName);\n    print_r($id); // id|false HighloadBlock\n    // если $id === false\n    // print_r(HLHelpers::$LAST_ERROR);\n?\u003e\n```\n\n### \u003ca name=\"AddFieldHighloadBlock\"\u003e\u003c/a\u003e Добавить поле в HighloadBlockTable\n\n```php\n\u003c?php\n    use Darkfriend\\HLHelpers;\n    $hlblockID = 1;\n    // описание какие данные указывать в $arFields тут https://dev.1c-bitrix.ru/learning/course/?COURSE_ID=43\u0026LESSON_ID=3496\n    $arField = [\n    \t'FIELD_NAME' =\u003e 'UF_TEST',\n        'USER_TYPE_ID' =\u003e 'string',\n        'SORT' =\u003e '100',\n        'MULTIPLE' =\u003e 'N',\n        'MANDATORY' =\u003e 'N',\n        'SETTINGS' =\u003e [\n            'DEFAULT_VALUE' =\u003e 'empty',\n        ],\n        'EDIT_FORM_LABEL' =\u003e [\n            'ru' =\u003e 'Тестовое поле',\n            'en' =\u003e 'Test field',\n        ],\n        'LIST_COLUMN_LABEL' =\u003e [\n            'ru' =\u003e 'Тестовое поле',\n            'en' =\u003e 'Test field',\n        ],\n    ];\n    $id = HLHelpers::getInstance()-\u003eaddField($hlblockID,$arField);\n    print_r($id); // id|false поля\n    // если $id === false\n    // print_r(HLHelpers::$LAST_ERROR);\n?\u003e\n```\n\n### \u003ca name=\"UpdateFieldHighloadBlock\"\u003e\u003c/a\u003e Обновить поле в HighloadBlockTable по ID\n\n```php\n\u003c?php\n    use Darkfriend\\HLHelpers;\n    $hlblockID = 1;\n    $fieldID = 1;\n    $arField = [\n        'SORT' =\u003e '100',\n        'MANDATORY' =\u003e 'Y',\n        'SETTINGS' =\u003e [\n            'DEFAULT_VALUE' =\u003e 'empty',\n        ],\n        'EDIT_FORM_LABEL' =\u003e [\n            'ru' =\u003e 'Тестовое поле',\n            'en' =\u003e 'Test field',\n        ],\n        'LIST_COLUMN_LABEL' =\u003e [\n            'ru' =\u003e 'Тестовое поле',\n            'en' =\u003e 'Test field',\n        ],\n    ];\n    $id = HLHelpers::getInstance()-\u003eupdateField($hlblockID, $fieldID, $arField);\n    print_r($id); // bool, как результат\n?\u003e\n```\n\n### \u003ca name=\"UpdateFieldHighloadBlockByUF\"\u003e\u003c/a\u003e Обновить поле в HighloadBlockTable по UF_NAME\n\n```php\n\u003c?php\n    use Darkfriend\\HLHelpers;\n    $hlblockID = 1;\n    $ufName = 'UF_TEST';\n    $arField = [\n        'SORT' =\u003e '100',\n        'MANDATORY' =\u003e 'Y',\n        'SETTINGS' =\u003e [\n            'DEFAULT_VALUE' =\u003e 'empty',\n        ],\n        'EDIT_FORM_LABEL' =\u003e [\n            'ru' =\u003e 'Тестовое поле',\n            'en' =\u003e 'Test field',\n        ],\n        'LIST_COLUMN_LABEL' =\u003e [\n            'ru' =\u003e 'Тестовое поле',\n            'en' =\u003e 'Test field',\n        ],\n    ];\n    $id = HLHelpers::getInstance()-\u003eupdateFieldByName($hlblockID, $ufName, $arField);\n    print_r($id); // bool, как результат\n?\u003e\n```\n\n### \u003ca name=\"DeleteFieldHighloadBlock\"\u003e\u003c/a\u003e Удалить поле или поля в HighloadBlockTable\n\n```php\n\u003c?php\n    use Darkfriend\\HLHelpers;\n    $hlblockID = 1;\n    $result = HLHelpers::getInstance()-\u003eremoveFields($hlblockID,[\n        'UF_FIELD_1',\n        'UF_FIELD_2',\n    ]);\n    print_r($result); // true|false\n?\u003e\n```\n\n### \u003ca name=\"DeleteHighloadBlock\"\u003e\u003c/a\u003e Удалить HighloadBlockTable\n\n```php\n\u003c?php\n    use Darkfriend\\HLHelpers;\n    $hlblockID = 1;\n    $result = HLHelpers::getInstance()-\u003edeleteHighloadBlock($hlblockID);\n    print_r($result);\n?\u003e\n```\n\n### \u003ca name=\"ListHighloadBlock\"\u003e\u003c/a\u003e Получить все highloadblock\n\n```php\n\u003c?php \n    use Darkfriend\\HLHelpers;\n    $arHL = HLHelpers::getInstance()-\u003egetList();\n    print_r($arHL);\n?\u003e\n ```\n \n### \u003ca name=\"ListElements\"\u003e\u003c/a\u003e Получить все элементы highloadblock\n\n```php\n\u003c?php \n    use Darkfriend\\HLHelpers;\n    $hlID = 1; // идентификатор highloadblock\n    \n    $arHlElements = HLHelpers::getInstance()-\u003egetElementList($hlID);\n    print_r($arHlElements);\n?\u003e\n```\n\n### \u003ca name=\"CountElements\"\u003e\u003c/a\u003e Получить количество строк в highloadblock\n\n```php\n\u003c?php \n    use Darkfriend\\HLHelpers;\n    $hlID = 1; // идентификатор highloadblock\n    $filters = ['UF_FIELD_FIILTER'=\u003e1];\n    $totalElements = HLHelpers::getInstance()-\u003egetTotalCount($hlID, $filters);\n    print_r($totalElements);\n?\u003e\n```\n  \n### \u003ca name=\"AddElement\"\u003e\u003c/a\u003e Добавить новый элемент в highloadblock\n\n```php\n\u003c?php \n    use Darkfriend\\HLHelpers;\n    $hlID = 1; // идентификатор highloadblock\n    // массив добавляемых значений, колонка=\u003eзначение\n    $arFields = [\n        'UF_FIELD1' =\u003e 'VALUE'\n        ...\n    ];\n    \n    $id = HLHelpers::getInstance()-\u003eaddElement($hlID, $arFields);\n    var_dump($id);\n    // при false ошибка будет в HLHelpers::$LAST_ERROR\n?\u003e\n```\n\n### \u003ca name=\"UpdateElement\"\u003e\u003c/a\u003e Обновить элемент в highloadblock\n\n```php\n\u003c?php \n    use Darkfriend\\HLHelpers;\n    $hlID = 1; // идентификатор highloadblock\n    $elID = 1; // идентификатор элемента\n    // массив обновляемых значений, колонка=\u003eзначение\n    $arFields = [\n        'UF_FIELD1' =\u003e 'VALUE2'\n        ...\n    ];\n    \n    $isUpd = HLHelpers::getInstance()-\u003eupdateElement($hlID, $elID, $arFields);\n    var_dump($isUpd);\n    // при false ошибка будет в HLHelpers::$LAST_ERROR\n?\u003e\n```\n\n### \u003ca name=\"DelElement\"\u003e\u003c/a\u003e Удалить элемент из highloadblock\n\n```php\n\u003c?php \n    use Darkfriend\\HLHelpers;\n    $hlID = 1; // идентификатор highloadblock\n    $elID = 1; // идентификатор элемента\n    \n    $isDel = HLHelpers::getInstance()-\u003edeleteElement($hlID, $elID);\n    var_dump($isDel);\n    // при false ошибка будет в HLHelpers::$LAST_ERROR\n?\u003e\n```\n\n## Работа с полем вида \"список\" в highloadblock\n\n### \u003ca name=\"GetValuesFieldList\"\u003e\u003c/a\u003e Получить все значения поля список у highloadblock\n\n```php\n\u003c?php \n    use Darkfriend\\HLHelpers;\n    $fieldName = \"UF_FIELD\"; // название поля\n    \n    $arValues = HLHelpers::getInstance()-\u003egetFieldValues($fieldName);\n    print_r($arValues);\n?\u003e\n```\n\n### \u003ca name=\"GetValueFieldList\"\u003e\u003c/a\u003e Получить значение списка из highloadblock\n\n```php\n\u003c?php \n    use Darkfriend\\HLHelpers;\n    $fieldName = \"UF_FIELD\"; // название поля\n    $valID = 1; // идентификатор значения\n    \n    $arValue = HLHelpers::getInstance()-\u003egetFieldValue($fieldName,$valID);\n    print_r($arValue);\n?\u003e\n```\n\n### \u003ca name=\"GetValueFieldListByXmlId\"\u003e\u003c/a\u003e Получить значение списка по его XML_ID из highloadblock\n\n```php\n\u003c?php \n    use Darkfriend\\HLHelpers;\n    $fieldName = \"UF_FIELD\"; // название поля\n    $codeName = \"CODE_VALUE\"; // XML_ID значения\n    \n    $arValue = HLHelpers::getInstance()-\u003egetFieldValueByCode($fieldName,$codeName);\n    print_r($arValue);\n?\u003e\n```\n\n## \u003ca name=\"FlexHighloadBlock\"\u003e\u003c/a\u003e Гибкость в работе с highloadblock\n\nДля обеспечения лучшей гибкости использовать:\n* `getEntityTable($hlblockID)`\n* `getElementsResource($hlblockID,$arFilter=[],$arOrder=[\"ID\" =\u003e \"ASC\"],$arSelect=['*'],$arMoreParams=[])`\n\n## \u003ca name=\"FlexFieldValuesList\"\u003e\u003c/a\u003e Гибкость в работе с полем вида \"список\" у highloadblock\n\nДля обеспечения лучшей гибкости использовать:\n* `getFieldValuesList($arSort=['SORT'=\u003e'ASC'],$arFilter=[])`","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdarkfriend%2Fhlhelpers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdarkfriend%2Fhlhelpers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdarkfriend%2Fhlhelpers/lists"}