Основные функции Bitrix API


Здесь собраны основные и самые часто используемые функции Bitrix API, которые нужны в процессе разработки сайтов на базе Bitrix Framework. Статья будет периодически обновляться.


Вывод заголовка браузера. Вставляется в теги title

$APPLICATION->ShowTitle();

Вывод заголовка страницы. Вставляется в теги h1

$APPLICATION->ShowTitle(false);

Вывод основных полей тегов meta (robots, keywords, description), подключение стилей шаблона и скриптов.

$APPLICATION->ShowHead();

Константа подставляющая путь до шаблона сайта.

SITE_TEMPLATE_PATH

Получить путь к картинки по id.

$img = CFile::GetPath($arItem["DETAIL_PICTURE"]);

Ресайз картинки (ResizeImageGet).

BX_RESIZE_IMAGE_PROPORTIONAL - Сохранение пропорций
BX_RESIZE_IMAGE_EXACT - Cохранение пропорций с обрезанием по заданной ширине и высоте;
BX_RESIZE_IMAGE_PROPORTIONAL_ALT - масштабирует с сохранением пропорций за ширину при этом принимается максимальное значение из высоты/ширины, размер ограничивается $arSize, улучшенная обработка вертикальных картинок.

$arResult["DETAIL_PICTURE"] = CFile::ResizeImageGet($arResult["DETAIL_PICTURE"], Array("width" => Ширина, "height" => Высота), BX_RESIZE_IMAGE_PROPORTIONAL, false);

Подключение дополнительных CSS и Js

$APPLICATION->SetAdditionalCss(SITE_TEMPLATE_PATH."/css/catalog.css");
$APPLICATION->AddHeadScript(SITE_TEMPLATE_PATH."/js/jquery-ui.min.js");

Подключение CSS и Js (D7)

use Bitrix\Main\Page\Asset;
Asset:getInstance()->addCss(SITE_TEMPLATE_PATH."/css/catalog.css");
Asset:getInstance()->addJs(SITE_TEMPLATE_PATH."/js/jscript.js");

Готовая функция dump для вывода массивов, видная только администратору. Полезна для работы на живом сайте.

function dump($var, $die=false, $all=false)
{
      global $USER;
      if( ($USER->GetID()==1) || ($all==true) )
      {
            echo '< pre >';
            print_r($var);
            echo '< /pre >';
      }
      if($die)
      die('hello');
}

Пример отправки письма

$postTemplate = 92;     // ID почтового шаблона
$arEventFields = array( // Свойства
    "EMAIL"   => $_POST['email'],
    "FIO"     => $_POST['fio'],
    "PHONE"   => $_POST['phone'],
    "COMMENT" => $_POST['comment']
);
CEvent::Send("FEEDBACK_FORM", "s1", $arEventFields, $postTemplate);

Вызов включаемой области из файла

$APPLICATION->IncludeComponent(
	"bitrix:main.include",
	"",
	Array(
		"AREA_FILE_SHOW" => "file",
		"MODE" => "php",
		"PATH" => "/local/include/phone.php"
	)
);

Запрет подключение к файлу на прямую, требование наличия ядра.

if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();

Пример функции Getlist из result_modifier.php (Возвращает список элементов по фильтру $arFilter)

    
    foreach($arResult['PROPERTIES']['ELEMENTS']['VALUE'] as $key=>$element)
    {
        $arraySize = count($element); // Количество элементов в массиве. 
        $arSort   = array('DATE_CREATE' => 'DESC');
        $arSelect = Array("ID", "IBLOCK_ID", "NAME", "DATE_ACTIVE_FROM", "DETAIL_PICTURE", "PROPERTY_EMAIL");
        $arFilter = Array("IBLOCK_ID"=> IBLOCK_ELEMENTS_ID, "ID" => $element, "ACTIVE"=>"Y");
        $dbFields = CIBlockElement::GetList($arSort, $arFilter, false, Array("nPageSize"=>$arraySize), $arSelect);
        while($dbElement = $dbFields->GetNextElement())
        {
            $arResult["ELEMENTS"][$key] = $dbElement->GetFields();
            $arResult["ELEMENTS"][$key]["DETAIL_PICTURE"] = CFile::GetPath($arResult["ELEMENTS"][$key]["DETAIL_PICTURE"]);
        }
    }


Заинтересованы в сотрудничестве?
Нужна консультация? Свяжитесь с нами!
Заказать обратный звонок