{"id":18604275,"url":"https://github.com/izica/bitrix-iblock-query-builder","last_synced_at":"2025-04-10T20:30:27.422Z","repository":{"id":56995118,"uuid":"155544358","full_name":"izica/bitrix-iblock-query-builder","owner":"izica","description":"CMS Bitrix query builder","archived":false,"fork":false,"pushed_at":"2023-04-09T00:55:56.000Z","size":25,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-08T15:47:17.996Z","etag":null,"topics":["bitrix","bitrix-cms","bitrix-db","bitrix-library","bitrix-module","bitrix-orm","bitrix-query-builder","iblock","iblock-property","library","orm","php","query-builder"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/izica.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":"2018-10-31T11:12:47.000Z","updated_at":"2023-04-09T00:53:17.000Z","dependencies_parsed_at":"2022-08-21T12:20:42.254Z","dependency_job_id":null,"html_url":"https://github.com/izica/bitrix-iblock-query-builder","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/izica%2Fbitrix-iblock-query-builder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/izica%2Fbitrix-iblock-query-builder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/izica%2Fbitrix-iblock-query-builder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/izica%2Fbitrix-iblock-query-builder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/izica","download_url":"https://codeload.github.com/izica/bitrix-iblock-query-builder/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248290019,"owners_count":21078923,"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-cms","bitrix-db","bitrix-library","bitrix-module","bitrix-orm","bitrix-query-builder","iblock","iblock-property","library","orm","php","query-builder"],"created_at":"2024-11-07T02:17:15.429Z","updated_at":"2025-04-10T20:30:27.160Z","avatar_url":"https://github.com/izica.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Установка\nУстановить через composer(или скачать), подключить в php_interface/init.php\n```\ncomposer require izica/bitrix-iblock-query-builder\n```\n\n## Использование\n\n### Возможности\n* Получение информации о навигации\n* Получение разделов и элементов инфоблоков\n* Стрелочные вызовы функций в любом порядке\n* Мапинг результатов\n* Автокеширование\n* Автоматическое получение свойств элементов, с возможностью отключить получение свойств\n\n### Описание классов\n####\n* IblockQuery\n    * items()\n    * sections()\n    * filter($arFilter)\n    * sort($arSort)\n    * nav($arNav)\n    * select($arSelect)\n    * properties($bBoolean)\n    * cache($sCustomKey = 'iblock-query', $ttl = 3600)\n    * map($fnCallable)\n    * execute() =\u003e IblockQueryResult\n\n* IblockQueryResult\n    * all() // возвращает массив результата запроса\n    * nav() // данные о пагинации\n    * count()\n     \n\n#### Примечание\nМассивы $arSort, $arFilter, $arSelect, $arNav соответсвуют формату [https://dev.1c-bitrix.ru/api_help/iblock/classes/ciblockelement/getlist.php]\n\n```php\n$arBadgesItems = IblockQuery::items()\n    -\u003efilter($arFilter)\n    -\u003eselect($arSelect)\n    -\u003esort($arSort)\n    -\u003enav($arNav)\n    -\u003eproperties(false) // выключает запрос на доп. свойства\n    -\u003ecache()\n    -\u003emap(function($arItem){\n        $arItem['PREVIEW_PICTURE'] = CFile::GetPath($arItem['PREVIEW_PICTURE']);\n        return $arItem;\n    })\n    -\u003eexecute(); // возвращает экземляр класса IblockQueryResult\n\n$arBadgesSections = IblockQuery::sections()\n    -\u003efilter($arFilter)\n    -\u003eselect($arSelect)\n    -\u003esort($arSort)\n    -\u003enav($arNav)\n    -\u003ecache()\n    -\u003eexecute()\n    -\u003eall();\n```\n\n#### Мапинг результатов и Автокеширование\nКеширование сработает уже после функции map(), поэтому запрос на картинки тоже сработает только 1 раз до кеширования.\n\n`cache($module = 'iblock-query', $ttl = 3600)`\n\n```php\n$arBadgesSections = IblockQuery::items()\n    -\u003efilter($arFilter)\n    -\u003eselect($arSelect)\n    -\u003esort($arSort)\n    -\u003enav($arNav)\n    -\u003eproperties(false)\n    -\u003ecache()\n    -\u003emap(function($arItem){\n        $arItem['PREVIEW_PICTURE'] = CFile::GetPath($arItem['PREVIEW_PICTURE']);\n        return $arItem;\n    })\n    -\u003eexecute();\n```\n\n#### Получение элементов инфоблока\n```php\n$arBadgesItems = IblockQuery::items()\n    -\u003efilter(['IBLOCK_ID' =\u003e $nBadgesIblockId])\n    -\u003eselect(['ID', 'NAME', 'PROPERTY_COLOR'])\n    -\u003eexecute();\n```\n\n#### Получение разделов инфоблока\n```php\n$arBadgesSections = IblockQuery::sections()\n    -\u003efilter(['IBLOCK_ID' =\u003e $nBadgesIblockId])\n    -\u003eselect(['ID', 'NAME', 'PROPERTY_COLOR'])\n    -\u003eexecute();\n```\n\n\n#### Получение элементов без доп. свойств\n```php\n$arBadgesItems = IblockQuery::items()\n    -\u003efilter($arFilter)\n    -\u003eselect($arSelect)\n    -\u003esort($arSort)\n    -\u003enav($arNav)\n    -\u003eproperties(false)\n    -\u003ecache()\n    -\u003eexecute();\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fizica%2Fbitrix-iblock-query-builder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fizica%2Fbitrix-iblock-query-builder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fizica%2Fbitrix-iblock-query-builder/lists"}