Шпаргалка для 1С-Битрикс разработчика.

image

31.03.15
Comments 0

В этой статье хочу сделать для себя и для тех кто занимается созданием сайтов на Битрикс, шпаргалку которая все будет под рукой. В нее войдут самые часто используемые куски кода, в основном используемые для верстки. Итак, поехали!

Подключение включаемого файла

<?$APPLICATION->IncludeFile(SITE_DIR . "include/fileName.php",Array(),Array("MODE" => "html"));?>

Подключение Jquery

<?CJSCore::Init(array("jquery"));?>

Подключение js файлов

<?$APPLICATION->AddHeadScript(SITE_TEMPLATE_PATH . "/js/script.js");?>

Подключение css файлов

<?$APPLICATION->SetAdditionalCSS(SITE_TEMPLATE_PATH . "/css/style.css");?>

Константа шаблона пути шаблона

SITE_TEMPLATE_PATH

Компонент меню

<?$APPLICATION->IncludeComponent(
    "bitrix:menu",
    "",
    Array()
);?>

Компонент список новостей

<?$APPLICATION->IncludeComponent(
	"bitrix:news.list",
	"",
	Array(
	)
);?>

Компонент форма добавления элементов инфоблока

<?$APPLICATION->IncludeComponent(
    "bitrix:iblock.element.add.form",
    "",
    Array(
    )
);?>

Вывести страницу без шапки и подвала

require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php");
//require($_SERVER['DOCUMENT_ROOT'].'/bitrix/header.php');

require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/epilog_after.php");
//require($_SERVER['DOCUMENT_ROOT'].'/bitrix/footer.php');

Включаемая область раздела или страницы

<?$APPLICATION->IncludeComponent("bitrix:main.include","",Array(
        "AREA_FILE_SHOW" => "sect", 
        "AREA_FILE_SUFFIX" => "inc", 
        "AREA_FILE_RECURSIVE" => "Y", 
        "EDIT_TEMPLATE" => "standard.php" 
    )
);?>

Обрезка изображений

<?$resize = CFile::ResizeImageGet($arItem['PREVIEW_PICTURE'],Array('width'=>150,'height'=>150),BX_RESIZE_IMAGE_EXACT,true);?>

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

Получить путь страницы

$APPLICATION->GetCurPage()

Подключить режим Ajax для компонента

"AJAX_MODE" => "Y",  // режим AJAX
"AJAX_OPTION_SHADOW" => "N", // затемнять область
"AJAX_OPTION_JUMP" => "N", // скроллить страницу до компонента
"AJAX_OPTION_STYLE" => "Y", // подключать стили
"AJAX_OPTION_HISTORY" => "N",

Вывести значения свойства типа список

$property_enums = CIBlockPropertyEnum::GetList(Array("DEF"=>"DESC", "SORT"=>"ASC"), Array("IBLOCK_ID"=>6, "CODE"=>"ROOM_TYPE"));
while($enum_fields = $property_enums->GetNext())
{
  echo $enum_fields["ID"]." - ".$enum_fields["VALUE"];
}                                          

Отладка в Битрикс

в dbconn.php

define("LOG_FILENAME", $_SERVER["DOCUMENT_ROOT"]."/log.txt");
AddMessage2Log("Ошибка добавления комментария", "comment");
//или так
AddMessage2Log('$arFields = '.print_r($arFields, true),'');                                      

Отложенные функции

$APPLICATION->SetPageProperty('hide_breadcrums', 'hide-breadcrumbs');
$APPLICATION->showProperty('hide_breadcrums', 'show-breadcrumbs');                                  

Подключение классов в init.php

CModule::AddAutoloadClasses(
    '',
    array(
        'ClassName' =>  '/local/php_interface/classes/ClassName.php',
    )
);

Отправить письмо через почтовое событие

$arEventFields= array(
        "USER_EMAIL" => $user["EMAIL"],
         "USER_NAME" => $user["USER_NAME"],
);
CEvent::SendImmediate('EVENT_NAME', SITE_ID, $arEventFields); 

Комментировать