<?
//если если ранее по коду модуль инфоблока не подключен, то подключаем его
CModule::IncludeModule("iblock");
$iblock_id = 3; // Цифровое значение ID - Вашего Инфоблока - каталога товаров
$arFilter = Array("IBLOCK_ID"=>$iblock_id, "ACTIVE"=>"Y");
$count_goods = CIBlockElement::GetList(Array(), $arFilter, Array(), false, Array());
?>
Количество товаров: <? echo $count_goods; ?>
use Bitrix\Main\Loader;
use Bitrix\Highloadblock as HL;
use Bitrix\Main\Entity;
Loader::includeModule("highloadblock"); //это если мы не в контексте приложения, допустим отдельный класс для api
$hlbl = 1; // ID highloadblock
$hlblock = HL\HighloadBlockTable::getById($hlbl)->fetch();
$entity = HL\HighloadBlockTable::compileEntity($hlblock);
$entity_data_class = $entity->getDataClass();
$rsData = $entity_data_class::getList(array(
"select" => array("*"),
"order" => array("ID" => "ASC"),
"filter" => array("UF_P_ID" => "1") // если нужна фильтрация по полям
));
// элементы уже можно получить разным способом, fetchAll, fetchCollection , посмотрите доку
//или как ниже
while($arData = $rsData->Fetch())
{
var_dump($arData);
}