Апрель 13, 2020
Выборка инфоблоков, привязок инфоблоков к сайтам классы "\Bitrix\Iblock\IblockTable", "\Bitrix\Iblock\IblockSiteTable".
Выбрать все инфоблоки в системе:
$iblockResult = \Bitrix\Iblock\IblockTable::getList();
while($iblock=$iblockResult->fetch())
{
print_r($iblock);
}
/*
Array
(
[ID] => 45
[TIMESTAMP_X] => Bitrix\Main\Type\DateTime Object
(
[value:protected] => DateTime Object
(
[date] => 2019-10-31 03:06:10.000000
[timezone_type] => 3
[timezone] => Europe/Moscow
)
)
[IBLOCK_TYPE_ID] => banket
[CODE] =>
[NAME] => Отзывы
[ACTIVE] => Y
[SORT] => 500
[LIST_PAGE_URL] =>
[DETAIL_PAGE_URL] =>
[SECTION_PAGE_URL] =>
[CANONICAL_PAGE_URL] =>
[PICTURE] =>
[DESCRIPTION] =>
[DESCRIPTION_TYPE] => text
[XML_ID] =>
[TMP_ID] =>
[INDEX_ELEMENT] => Y
[INDEX_SECTION] => Y
[WORKFLOW] => N
[BIZPROC] => N
[SECTION_CHOOSER] => L
[LIST_MODE] =>
[RIGHTS_MODE] => S
[SECTION_PROPERTY] => N
[PROPERTY_INDEX] => N
[VERSION] => 1
[LAST_CONV_ELEMENT] => 0
[SOCNET_GROUP_ID] =>
[EDIT_FILE_BEFORE] =>
[EDIT_FILE_AFTER] =>
)
Array
(
[ID] => 44
[TIMESTAMP_X] => Bitrix\Main\Type\DateTime Object
(
[value:protected] => DateTime Object
(
[date] => 2019-10-31 02:31:13.000000
[timezone_type] => 3
[timezone] => Europe/Moscow
)
)
[IBLOCK_TYPE_ID] => banket
[CODE] =>
[NAME] => Пространство для Вашего праздника
[ACTIVE] => Y
[SORT] => 500
[LIST_PAGE_URL] =>
[DETAIL_PAGE_URL] =>
[SECTION_PAGE_URL] =>
[CANONICAL_PAGE_URL] =>
[PICTURE] =>
[DESCRIPTION] =>
[DESCRIPTION_TYPE] => text
[XML_ID] => 44
[TMP_ID] =>
[INDEX_ELEMENT] => N
[INDEX_SECTION] => N
[WORKFLOW] => N
[BIZPROC] => N
[SECTION_CHOOSER] => L
[LIST_MODE] =>
[RIGHTS_MODE] => S
[SECTION_PROPERTY] => N
[PROPERTY_INDEX] => N
[VERSION] => 1
[LAST_CONV_ELEMENT] => 0
[SOCNET_GROUP_ID] =>
[EDIT_FILE_BEFORE] =>
[EDIT_FILE_AFTER] =>
)
*/
Выбираем инфоблоки с удобной сортировкой для административной части и создаем массив для select, также отображаем привязку к сайтам:
$iblocks = array();
$iblockResult = \Bitrix\Iblock\IblockTable::getList(array(
'order' => array('IBLOCK_TYPE_ID'=>'ASC','SORT'=>'ASC','ID'=>'DESC'),
));
while($iblock=$iblockResult->fetch())
{
$iblockSiteResult = \Bitrix\Iblock\IblockSiteTable::getList(array(
'filter' => array('=IBLOCK_ID'=>$iblock['ID']),
));
$sites=array();
while($iblockSite=$iblockSiteResult->fetch())
$sites[] = $iblockSite['SITE_ID'];
$iblocks[$iblock['ID']] = '['.$iblock['ID'].', '.$iblock['IBLOCK_TYPE_ID'].', '.implode(', ',$sites).'] '.$iblock['NAME'];
}
/*
Array
(
[45] => [45, banket, s5] Отзывы
[44] => [44, banket, s5] Пространство для Вашего праздника
[43] => [43, banket, s5] Галерея
[42] => [42, banket, s5] Меню
[41] => [41, banket, s5] Галерея на главной
[40] => [40, banket, s5] Слайдер на главной
[19] => [19, blocks, s1, s2] Счётчик номера брони
[15] => [15, blocks, s1, s2] Сообщения
[12] => [12, blocks, s2] Новости EN
)
*/