Снипетты для работы с инфоблоками


фото обрезать
https://dev.1c-bitrix.ru/api_help/main/reference/cfile/resizeimageget.php
  • BX_RESIZE_IMAGE_EXACT - масштабирует в прямоугольник $arSize c сохранением пропорций, обрезая лишнее;
  • BX_RESIZE_IMAGE_PROPORTIONAL - масштабирует с сохранением пропорций, размер ограничивается $arSize;
  • BX_RESIZE_IMAGE_PROPORTIONAL_ALT - масштабирует с сохранением пропорций за ширину при этом принимается максимальное значение из высоты/ширины, размер
$arItem["PREVIEW_PICTURE"], $arItem["DETAIL_PICTURE"]
$file = CFile::ResizeImageGet($arSection["PICTURE"], array('width'=>150, 'height'=>150), BX_RESIZE_IMAGE_PROPORTIONAL, true);

элементы инфоблока получить
https://dev.1c-bitrix.ru/api_help/iblock/classes/ciblockelement/getlist.php
$arFilter = Array(
  "IBLOCK_ID"=>$arParams["IBLOCK_ID"], 
   "ACTIVE"=>"Y"
);
$arSelect = Array("ID", "NAME", "DATE_ACTIVE_FROM");
$res = CIBlockElement::GetList(Array("sort"=>"asc"), $arFilter, false, Array("nPageSize"=>50,"iNumPage"=>1), $arSelect);
while($arItem = $res->GetNext()){
 //обрабатывает детальную страницу из шаблона пути
}
while($arItem = $res->Fetch()){
  //самый быстрый
}
while($ob = $res->GetNextElement()){
  $arFields = $ob->GetFields();  
}
разделы инфоблока получить
https://dev.1c-bitrix.ru/api_help/iblock/classes/ciblocksection/getlist.php
$arFilter = array(
   'IBLOCK_ID' => $arParams['IBLOCK_ID'],
   '>LEFT_MARGIN' => $arParentSection['LEFT_MARGIN'],
    '<RIGHT_MARGIN' => $arParentSection['RIGHT_MARGIN'],
    '>DEPTH_LEVEL' => $arParentSection['DEPTH_LEVEL']
); // выберет потомков без учета активности
$rsSect = CIBlockSection::GetList(array('left_margin' => 'asc'),$arFilter,);
while ($arSect = $rsSect->GetNext()){
       // получаем подразделы
}