Здесь собраны основные и самые часто используемые функции Bitrix API, которые нужны в процессе разработки сайтов на базе Bitrix Framework. Статья будет периодически обновляться.
$APPLICATION->ShowTitle();
$APPLICATION->ShowTitle(false);
$APPLICATION->ShowHead();
SITE_TEMPLATE_PATH
$img = CFile::GetPath($arItem["DETAIL_PICTURE"]);
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);
$APPLICATION->SetAdditionalCss(SITE_TEMPLATE_PATH."/css/catalog.css"); $APPLICATION->AddHeadScript(SITE_TEMPLATE_PATH."/js/jquery-ui.min.js");
use Bitrix\Main\Page\Asset; Asset:getInstance()->addCss(SITE_TEMPLATE_PATH."/css/catalog.css"); Asset:getInstance()->addJs(SITE_TEMPLATE_PATH."/js/jscript.js");
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();
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"]);
}
}
CIBlockElement::CounterInc($arResult["ID"]); $res = CIBlockElement::GetByID($arResult["ID"]); if($ar_res = $res->GetNext()) echo $ar_res[SHOW_COUNTER];