Битрикс набор функций

Наверно, самый популярный метод — список элементов


$res = CIBlockElement::GetList(
  Array("SORT"=>"DESC") , // $arOrder 
  array('IBLOCK_ID'=>55), // $arFilter
  false, // $arGroupBy 
  Array("nTopCount"=>10), // $arNavStartParams
        array('ID' , 'NAME') // arSelectFields
); 
while($ob = $res->GetNext(true, false)){
    print_r($ob );
}

Поля элемента


$res = CIBlockElement::GetByID($id);
$obRes = $res->GetNextElement();
if($obRes){
  $ar_res = $obRes->GetFields();
}

Тоже самое через массив


$res = CIBlockElement::GetByID($id);
$obRes = $res->GetNext(true, false);
var_dump($obRes)

Свойства элемента


$res = CIBlockElement::GetByID($id);
$obRes = $res->GetNextElement();
if($obRes){
  $ar_res = $obRes->GetProperties();
}

Инфо торгового предложения.


$mxResult = CCatalogSku::GetProductInfo($id);

инфо раздела


$section = CIBlockSection::GetList(Array(), array('CODE' => $arParams['SECTION_CODE']) , false);
$section = $section->GetNext();

Все поля и св-ва элементов


$res = CIBlockElement::GetList(
 Array("SORT"=>"ASC"), // arOrder
 Array(
     "IBLOCK_ID"=>IntVal($arParams['IBLOCK_ID']) ,
     "PROPERTY_UF_NAME" => $arParams['UF_NAME'] ,
     "ACTIVE" => "Y" 
     ), // arFilter
 false, // arGroupBy
 false, // arNavStartParams
 ['*'] // arSelectFields
);
$i = 0;
while($ob = $res->GetNextElement(true, false)){ 
    $arResult["ITEMS"][$i]['fields'] = $ob->GetFields();  
    $arResult["ITEMS"][$i]['props'] = $ob->GetProperties();  
    $i++;
}

Фильтрация в компоненте по свойству (ключевое слово PROPERTY_…)


$GLOBALS['arFilter1'] = ['PROPERTY_TOVAR_DNJA' => 'Да'];
$APPLICATION->IncludeComponent(
	"bitrix:catalog.top", 
	"monopoly", 
	array(
	"FILTER_NAME" => "arFilter1",
...
// для поля типа Список в значение предаем id
$arrFilterSale2 = [    'PROPERTY_NOVINKA' => 2276    ]; 

Быстро добавить в корзину товар.


Add2BasketByProductID($id, $quantity)

Товары в корзине


$arBasketItems = array();

$dbBasketItems = CSaleBasket::GetList(
        array(
                "NAME" => "ASC",
                "ID" => "ASC"
            ),
        array(
                "FUSER_ID" => CSaleBasket::GetBasketUserID(),
                "LID" => SITE_ID,
                "ORDER_ID" => "NULL",
                "CAN_BUY" => "Y"
            ),
        false,
        false,
        array("ID", "CALLBACK_FUNC", "MODULE", 
              "PRODUCT_ID", "QUANTITY", "DELAY", 
              "CAN_BUY", "PRICE", "WEIGHT")
    );
while ($arItems = $dbBasketItems->Fetch())
{
    if (strlen($arItems["CALLBACK_FUNC"]) > 0)
    {
        CSaleBasket::UpdatePrice($arItems["ID"], 
                                 $arItems["CALLBACK_FUNC"], 
                                 $arItems["MODULE"], 
                                 $arItems["PRODUCT_ID"], 
                                 $arItems["QUANTITY"]);
        $arItems = CSaleBasket::GetByID($arItems["ID"]);
    }

    $arBasketItems[] = $arItems;
}

Удалить товар


if(CIBlock::GetPermission($IBLOCK_ID)>='W')
{
    $DB->StartTransaction();
    if(!CIBlockElement::Delete($ELEMENT_ID))
    {
        $strWarning .= 'Error!';
        $DB->Rollback();
    }
    else
        $DB->Commit();
}

Все поля пользователя


$rsUser = CUser::GetByID(CUser::GetID());
$arUser = $rsUser->Fetch();
echo "<pre>"; 
print_r($arUser); 
echo "</pre>";

Добавить стили скрипты в шаблон


$this->addExternalCss($templateFolder . "/slick-theme.css");
$this->addExternalCss("http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css");
$this->addExternalJS($templateFolder . "/slick.min.js");

Быстро преобразовать дату


$date = "31.12.2007";
$format = "DD.MM.YYYY";
// получим формат текущего сайта
$new_format = CSite::GetDateFormat("SHORT"); // YYYY-MM-DD
$new_date = $DB->FormatDate($date, $format, $new_format);
echo $new_date; // 2007-12-31

Изменение кол-ва товара на складе


function update_store_amount(){

	list($PRODUCT_ID, $STORE_ID) = array(53914, 5);
// класс для работы со остатками товара на складах. Не путать с CCatalogStore
	$rsStore = CCatalogStoreProduct::GetList(
		[],
		[
			"PRODUCT_ID" => $PRODUCT_ID,
			"STORE_ID" => $STORE_ID,
		],
		false,
		false,
		[]
	);
	$arStore = $rsStore->Fetch();

	$res = CCatalogStoreProduct::Update(
	   $arStore['ID'],
	   [
			"PRODUCT_ID" => $PRODUCT_ID,
			"STORE_ID" => $STORE_ID,
	        "AMOUNT" => 0,
	   ]
	);
}

Вывести значение HTML поля


html_entity_decode()

Leave a comment

Your email address will not be published.


*