Функции которые могут пригодится для разных проектов на 1С-Битрикс
//Получает информация о пользователе
function UserInfo($user_id){
if($user_id>0){
$rsUser = CUser::GetByID($user_id);
return $rsUser->Fetch();
}
}
//Получает количество товаров в корзине без цикла
function getBasketCount(){
if(CModule::IncludeModule("sale")){
$cntBasketItems = CSaleBasket::GetList(
array(),
array(
"FUSER_ID" => CSaleBasket::GetBasketUserID(),
"LID" => SITE_ID,
"ORDER_ID" => "NULL"
),
array()
);
return $cntBasketItems;
}
}
//Получает уменьшенную копию изображение по ID;
function getImageByID($imgid, $width=false, $height=false){
if(empty($imgid)){
$img="/images/default-image.png";
}else{
if($width==false){$width=100;}
if($height==false){$height=100;}
$img = CFile::ResizeImageGet($imgid, Array("width" => $width, "height" => $width),BX_RESIZE_IMAGE_PROPORTIONAL);
$img = $img['src'];
}
return $img;
}
// Получаем Изображение из свойства MORE_PHOTO
function GetPropImgByElID($id){
$res = CIBlockElement::GetByID($id);
if($ob = $res->GetNextElement())
{
$arProp = $ob->GetProperty("MORE_PHOTO");
return CFile::GetPath($arProp['VALUE'][0]);
}
};
//Получает название раздела по символьному коду
function GetSectionNameByCode($iblock_id, $code){
$res = CIBlockSection::GetList(array(), array('IBLOCK_ID' => $iblock_id, 'CODE' =>$code), false, array("NAME"));
$section = $res->Fetch();
return $section['NAME'];
}
//Получает вложенность раздела
function GetSectionLevelByCode($iblock_id, $code){
$res = CIBlockSection::GetList(array(), array('IBLOCK_ID' => $iblock_id, 'CODE' =>$code), false, array("DEPTH_LEVEL"));
$section = $res->Fetch();
return $section['DEPTH_LEVEL'];
}
//Выводит разделы HTML Select ом
function GetSectionsSelect($IBLOCK_ID, $name, $params=false){
CModule::IncludeModule("iblock");
$arFilter = Array('IBLOCK_ID'=>$IBLOCK_ID, 'GLOBAL_ACTIVE'=>'Y');
$dblist = CIBlockSection::GetList(Array("NAME"=>"ASC"), $arFilter, true);
$res = '';
return $res;
}
// получить ID раздела по Элемент ID
function GetElementSectionsID($ID){
CModule::IncludeModule("iblock");
$res = CIBlockElement::GetByID($ID);
$ar_res = $res->GetNext();
return $ar_res['IBLOCK_SECTION_ID'];
}
//получить ID раздела или элемента инфоблока по символьному коду
function getIdByCode($code, $iblock_id, $type)
{
if(CModule::IncludeModule("iblock"))
{
if($type == 'IBLOCK_ELEMENT')
{
$arFilter = array("IBLOCK_ID"=>$iblock_id, "CODE" => $code);
$res = CIBlockElement::GetList(array(), $arFilter, false, array("nPageSize"=>1), array('ID'));
$element = $res->Fetch();
if($res->SelectedRowsCount() != 1) return '
Элемент не найден
';
else return $element['ID'];
}
else if($type == 'IBLOCK_SECTION')
{
$res = CIBlockSection::GetList(array(), array('IBLOCK_ID' => $iblock_id, 'CODE' => $code));
$section = $res->Fetch();
if($res->SelectedRowsCount() != 1) return '
Раздел не найден
';
else return $section['ID'];
}
else
{
echo '
Укажите тип
';
return;
}
}
}