Шпаргалка по API Битрикса
1 октября 2013
1. Как добавить элемент в навигационную цепочку (карта разделов, хлебные крошки, breadcrumb)?
$APPLICATION->AddChainItem("Элемент", "http://element_url.test.ru");
2. Изменение размеров картинки
$slide_picture = CFile::ResizeImageGet(
$item['PREVIEW_PICTURE']['ID'],
array(
'width' => '300',
'height' => '100'
),
BX_RESIZE_IMAGE_PROPORTIONAL
);
Описание функции CFile::ResizeImageGet (http://dev.1c-bitrix.ru/api_help/main/reference/cfile/resizeimageget.php)
Функция уменьшает картинку и размещает уменьшенную копию в папку /upload/resize_cache/путь. Один раз уменьшив изображение получаем физический файл, который позволяет при последующих обращениях не проводить операции по уменьшению изображения. При следующем вызове функция вернет путь к уменьшенному файлу.
3. Получить список разделов (секций)
$elementsResult = CIBlockSection::GetList(
array($arParams['SORT_BY1'] => $arParams['SORT_ORDER1']),
array(
'IBLOCK_ID' => $arParams['IBLOCK_ID'],
'ACTIVE' => 'Y',
'ACTIVE_DATE' => 'Y',
'UF_POPULAR_CATEGORY' => '1'
),
false,
array(
"nPageSize" => $arParams['ELEMENTS_COUNT'],
"iNumPage" => 0,
)
);
while($obItem = $elementsResult->GetNextElement())
{
$item = $obItem->GetFields();
$arResult['ITEMS'][] = $item;
}
Подробнее http://dev.1c-bitrix.ru/api_help/iblock/classes/ciblocksection/getlist.php
4. Меню разделов (секций)
$arCatalogSectionsMenu=$APPLICATION->IncludeComponent("santeh:menu.sections", "", Array(
"ID" => $_REQUEST["SECTION_ID"],
"IBLOCK_TYPE" => "catalog_info",
"IBLOCK_ID" => "13",
"SECTION_URL" => "/catalog/#SECTION_CODE#/",
"DEPTH_LEVEL" => "2",
"CACHE_TYPE" => "A",
"CACHE_TIME" => "3600"
));
Компонент вернёт в переменную $arCatalogSectionsMenu массив пунктов меню.
Подробнее https://dev.1c-bitrix.ru/user_help/settings/settings/components_2/navigation/menu_section.php
5. Получить URL страницы с добавленными параметрами
$arResult['ADD_BOOKMARK_URL'] = $APPLICATION->GetCurPageParam($arParams['ACTION_VARIABLE'].'=ADD_BOOKMARK&id='.$arResult['ID'], array('action', 'id'));
Подробнее http://dev.1c-bitrix.ru/api_help/main/reference/cmain/getcurpageparam.php
6. Добавить строку между тегами <head>…</head>
$APPLICATION->AddHeadString('<script type="text/javascript" src="/js/jquery.colorbox.js"></script>',true);
Подробнее http://dev.1c-bitrix.ru/api_help/main/reference/cmain/addheadstring.php
7. Количество элементов в выборке
Описание функцииCDBResult::SelectedRowsCount()
Образец вызова
$elements_count = $elementsResult->SelectedRowsCount();
Подробнее http://dev.1c-bitrix.ru/api_help/main/reference/cdbresult/selectedrowscount.php
8. Список родительских разделов (секций) элемента
Функция возвращает путь по дереву от корня до раздела SECTION_ID.Описание функции
CIBlockResult CIBlockSection::GetNavChain(
int IBLOCK_ID,
int SECTION_ID
);
Образец вызова
$resSection = CIBlockSection::GetNavChain(false, $item['IBLOCK_SECTION_ID']);
while($arSection = $resSection->GetNext())
{
$array_sections[] = $arSection;
}
Подробнее http://dev.1c-bitrix.ru/api_help/iblock/classes/ciblocksection/getnavchain.php
9. Конвертировать время из Unix-формата в формат сайта
Функция конвертирует время из Unix-формата в строку в формате сайта.Описание функции
string ConvertTimeStamp(
int timestamp = false,
string format_type = "SHORT",
mixed site_id = false
);
Образец вызова
$obResult = CIBlockElement::GetList(
array(
"ID"=>"DESC",
), array(
'IBLOCK_ID' => $arParams['IBLOCK_ID'],
'SECTION_ID' => $arParams['SECTION_ID'],
'<=DATE_ACTIVE_FROM' => ConvertTimeStamp(time() – 86400, "FULL"),
));
Подробнее http://dev.1c-bitrix.ru/api_help/main/functions/date/converttimestamp.php
10. Получение списка элементов инфоблока
Функция возвращает список элементов по фильтру arFilterОписание функции
CIBlockResult
CIBlockElement::GetList(
array arOrder = Array("SORT"=>"ASC"),
array arFilter = Array(),
mixed arGroupBy = false,
mixed arNavStartParams = false,
array arSelectFields = Array()
);
Образец вызова
$elementsResult = CIBlockElement::GetList(
array("DATE_ACTIVE_FROM"=>"DESC"),
array(
'IBLOCK_ID' => $arParams['IBLOCK_ID'],
'ACTIVE' => 'Y',
'ACTIVE_DATE' => 'Y',
),
false,
array(
"nPageSize" => $arParams['STRANATION_ELEMENTS_COUNT'],
"iNumPage" => $CURRENT_PAGE_NUMBER,
));
while($obItem = $elementsResult->GetNextElement())
{
$item = $obItem->GetFields();
$item['PROPERTIES'] = $obItem->GetProperties();
$arResult['ITEMS'][] = $item;
}
Подробнее http://dev.1c-bitrix.ru/api_help/iblock/classes/ciblockelement/getlist.php
11. Удаление элемента из инфоблока
Функция удаляет элемент информационного блока. Также удаляются значения свойств типа "Привязка к элементу" указывающие на удаляемый.Описание функции
bool CIBlockElement::Delete(
int ID
);
Образец вызова
while($arNews = $obResult->GetNext())
{
if(!CIBlockElement::Delete($arNews['ID'])) $arResult['COUNT_ERROR_DELETE']++;
}
Подробнее http://dev.1c-bitrix.ru/api_help/iblock/classes/ciblockelement/delete.php
12. Получить параметры элемента инфоблока по его ID
Функция возвращает параметры элемента с кодом ID или false, если элемент не найден.Описание функции
CIBlockResult CIBlockElement::GetByID(
int ID
);
Образец вызова
$obKonkursResult =CIBlockElement::GetByID($element_id);
if($obKonkursResult!=false && $obKonkursItem = $obKonkursResult->GetNext())
{
echo $obKonkursItem['DETAIL_PAGE_URL'];
}
Подробнее http://dev.1c-bitrix.ru/api_help/iblock/classes/ciblockelement/getbyid.php
13. Получение символьного кода (транслитерация строки)
Функция транслитерирует строку $str с языка $lang с параметрами $params.Описание функции
string Cutil::translit($str, $lang, $params = array());
Образец вызова
$translitParams = Array(
"max_len" => "100", // обрезает символьный код до 100 символов
"change_case" => "L", // буквы преобразуются к нижнему регистру
"replace_space" => "-", // меняем пробелы на тире
"replace_other" => "-", // меняем прочие символы на тире
"delete_repeat_replace" => "true", // удаляем повторяющиеся пробелы
"use_google" => "false", // отключаем использование google
);
$arSectionFields = Array(
"CODE" => CUtil::translit("Название элемента 123", "ru", $translitParams),
"ACTIVE" => 'Y',
"IBLOCK_ID" => $arParams['MATERIAL_IBLOCK_ID'],
"NAME" => $arResult['KONKURS']['NAME'],
);
Подробнее http://dev.1c-bitrix.ru/api_help/main/functions/other/index.php
14. Получение сведений о файле по его ID
Функция возвращает массив описывающий файл с заданным идентификатором или false, если файла с таким идентификатором не существует.Описание функции
mixed CFile::GetFileArray(
int FILE_ID
);
Образец вызова
if($item['PREVIEW_PICTURE']>0) $item['PREVIEW_PICTURE'] = CFile::GetFileArray($item['PREVIEW_PICTURE']);
if($item['DETAIL_PICTURE']>0) $item['DETAIL_PICTURE'] = CFile::GetFileArray($item['DETAIL_PICTURE']);
Подробнее http://dev.1c-bitrix.ru/api_help/main/reference/cfile/getfilearray.php
15. Подключение модуля
Проверяет установлен ли модуль и если установлен, то подключает его. Возвращает «true», если модуль установлен, иначе – «false».Описание функции
bool CModule::IncludeModule(string module_name);
Образец подключения модулей
CModule::IncludeModule("iblock");
CModule::IncludeModule("catalog");
CModule::IncludeModule("sale");
Подробнее http://dev.1c-bitrix.ru/api_help/main/reference/cmodule/includemodule.php
16. Вставка компонента
Метод подключает компонент 2.0.Описание функции
mixed IncludeComponent(
string componentName,
string componentTemplate,
array arParams=array(),
object parentComponent=null,
array arFunctionParams=array()
);
Образец вставки компонента
<? $APPLICATION->IncludeComponent("bitrix:breadcrumb","fitland",Array(
"START_FROM" => "0",
"PATH" => "",
"SITE_ID" => ""
)
); ?>
Подробнее http://dev.1c-bitrix.ru/api_help/main/reference/cmain/includecomponent.php
17. Вставка включаемой области
Образец вставки<? $APPLICATION->IncludeComponent("bitrix:main.include", "", array("AREA_FILE_SHOW" => "file", "PATH" => SITE_DIR."include_areas/telephones.php"), false); ?>
18. Выполнение прямых запросов к БД
Метод выполняет запрос к базе данных и если не произошло ошибки возвращает результат.В случае успешного выполнения метод возвращает объект класса CDBResult.
Если произошла ошибка и параметр ignore_errors равен "true", то метод вернет "false".
Описание функции
mixed CDatabase::Query(
string sql,
bool ignore_errors=false,
string error_position="",
array Options=array()
)
Образец вызова
global $DB;
$sql_query="
SELECT *
FROM `b_user`
";
//echo $sql_query;
$rs = $DB->Query($sql_query, true);
if($rs!=false)
{
while($item = $rs->GetNext())
{
print_r($item);
}
}
Подробнее http://dev.1c-bitrix.ru/api_help/main/reference/cdatabase/query.php
19. Получение сведений о пользователе по его ID
Возвращает пользователя по его коду id в виде объекта класса CDBResult.Описание функции
CDBResult CUser::GetByID(
int id
)
Образец вызова
$rsUser = CUser::GetByID(999); //999 - ID пользователя
if($arUser = $rsUser->Fetch())
{
print_r($arUser);
}
Подробнее http://dev.1c-bitrix.ru/api_help/main/reference/cuser/getbyid.php
20. Проверка пользователя на админа
Проверяет принадлежность текущего авторизованного пользователя группе администраторов (как правило вызывается с объекта $USER).Возращает "true" - если пользователь принадлежит группе администраторов, в противном случае вернет "false".
Описание функции
bool CUser::IsAdmin()
Образец вызова
global $USER;
if ($USER->IsAuthorized() && $USER->IsAdmin())
{
echo 'Вы являетесь администратором';
}
else echo 'Вы простой пользователь';
Подробнее http://dev.1c-bitrix.ru/api_help/main/reference/cuser/isadmin.php
21. Запрет индексации страницы поисковиками
Добавляет в раздел <head></head> мета-тег для запрета индексирования текущей страницы поисковиками:<meta name="robots" content="noindex, nofollow" />
$APPLICATION->SetPageProperty("robots", "noindex, nofollow");