- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/tradingplatform/helper.php
- Класс: BitrixSaleTradingPlatformHelper
- Вызов: Helper::getIblocksIds
static function getIblocksIds($withSku = false)
{
if (!BitrixMainLoader::includeModule('catalog'))
throw new SystemException('Module catalog is not installed');
// save result in STATIC - for multiple used
if (!isset(self::$arIBlockIDs))
{
self::$arIBlockIDs = array();
// get CATALOG IBLOCKS from SKU iblocks
$rsCatalogs = CCatalog::GetList(
array(),
array('!PRODUCT_IBLOCK_ID' => 0),
false,
false,
array('IBLOCK_ID', 'PRODUCT_IBLOCK_ID', 'NAME')
);
while ($arCatalog = $rsCatalogs->Fetch())
{
$arCatalog['PRODUCT_IBLOCK_ID'] = intval($arCatalog['PRODUCT_IBLOCK_ID']);
if (0 < $arCatalog['PRODUCT_IBLOCK_ID'])
self::$arIBlockIDs[$arCatalog['PRODUCT_IBLOCK_ID']] = array(
"IBLOCK_ID" => $arCatalog['PRODUCT_IBLOCK_ID'],
"NAME" => '',
);
// get SKU IBLOCKS if needed
if ($withSku)
{
$arCatalog['IBLOCK_ID'] = intval($arCatalog['IBLOCK_ID']);
if (0 < $arCatalog['IBLOCK_ID'])
self::$arIBlockIDs[$arCatalog['IBLOCK_ID']] = array(
"IBLOCK_ID" => $arCatalog['IBLOCK_ID'],
"NAME" => $arCatalog['NAME'],
);
}
}
// get CATALOG IBLOCKS
$rsCatalogs = CCatalog::GetList(
array(),
array('PRODUCT_IBLOCK_ID' => 0),
false,
false,
array('IBLOCK_ID', 'NAME')
);
while ($arCatalog = $rsCatalogs->Fetch())
{
$arCatalog['IBLOCK_ID'] = intval($arCatalog['IBLOCK_ID']);
if (0 < $arCatalog['IBLOCK_ID'])
self::$arIBlockIDs[$arCatalog['IBLOCK_ID']] = array(
"IBLOCK_ID" => $arCatalog['IBLOCK_ID'],
"NAME" => $arCatalog['NAME'],
);
}
if (empty(self::$arIBlockIDs))
self::$arIBlockIDs[-1] = true;
}
return self::$arIBlockIDs;
}