Структура таблиц модуля https://dev.1c-bitrix.ru/api_help/iblock/fields.php |
Служебные штуки
Пережимка фоток
https://dev.1c-bitrix.ru/api_help/main/reference/cfile/resizeimageget.php
|
$file = CFile::ResizeImageGet($arSection["PICTURE"], ['width'=>150, 'height'=>150], BX_RESIZE_IMAGE_PROPORTIONAL, false,false,false,300); //$arItem["PREVIEW_PICTURE"], $arItem["DETAIL_PICTURE"] //$file["src"] |
CSite::GetDateFormat("SHORT"); |
Элементы
получить
$arFilter = [ "IBLOCK_ID"=>$arParams["IBLOCK_ID"], "ACTIVE"=>"Y" ]; $arSelect = ["ID", "NAME", "DATE_ACTIVE_FROM"]; $res = CIBlockElement::GetList(["sort"=>"asc"], $arFilter, false, ["nPageSize"=>50,"iNumPage"=>1], $arSelect); while($arItem = $res->Fetch()){ //самый быстрый } while($arItem = $res->GetNext()){ //обрабатывает детальную страницу из шаблона пути } while($ob = $res->GetNextElement()){ $arFields = $ob->GetFields(); } |
$el = new CIBlockElement; $arProps = array(); $arProps[$propId]= $propValue; //или $arProps[$propCode]= $propValue; $arItem = [ "MODIFIED_BY" => $USER->GetID(), // элемент изменен текущим пользователем "IBLOCK_SECTION" => false, // элемент лежит в корне раздела "PROPERTY_VALUES"=> $arProps, "NAME" => "Элемент", "ACTIVE" => "Y", // активен "PREVIEW_TEXT" => "текст для списка элементов", "DETAIL_TEXT" => "текст для детального просмотра", "DETAIL_PICTURE" => CFile::MakeFileArray($_SERVER["DOCUMENT_ROOT"]."/image.gif") ]; $res = $el->Update($id, $arItem); |
global $USER; $arParamsCode = ["replace_space" => "-", "replace_other" => "-" ]; $el = new CIBlockElement; $arProps = array(); $arProps[$propId] = $propValue; //или $arProps[$propCode]= $propValue; $arItemNew = [ "NAME" => $arArticle["title"], "DETAIL_TEXT" => $arArticle["text"], "DETAIL_TEXT_TYPE"=>"html", //"text" "IBLOCK_ID" => $iblockId, "PROPERTY_VALUES" => $arProps, "IBLOCK_SECTION_ID" => false, "ACTIVE" => "Y", "MODIFIED_BY" => $USER->GetID(), "CODE" => Cutil::translit( $arArticle["title"], "en", $arParamsCode ) ]; if($id = $el->Add($arItemNew)) { echo "New ID: ".$id; } else { echo "Error: " . $el->LAST_ERROR." "; } |
получить
https://dev.1c-bitrix.ru/api_help/iblock/classes/ciblocksection/getlist.php |
$arFilter = [ 'IBLOCK_ID' => $arParams['IBLOCK_ID'], '>LEFT_MARGIN' => $arParentSection['LEFT_MARGIN'], '<RIGHT_MARGIN' => $arParentSection['RIGHT_MARGIN'], '>DEPTH_LEVEL' => $arParentSection['DEPTH_LEVEL'] ]; // выберет потомков без учета активности $bShowCount = false; //количество элементов в разделе $arSelect = ["UF_NAME_EN"]; //список полей $rsSect = CIBlockSection::GetList(['left_margin' => 'asc'],$arFilter,$bShowCount,$arSelect); while ($arSect = $rsSect->GetNext()){ // } |
Свойства
получить значение множественного свойства для элемента
$res = CIBlockElement::GetProperty($iblockId, $elemId, "sort", "asc", ["ID" => $propId]); while ($arValue = $res->GetNext()){ // } |
$propertyEnum = CIBlockPropertyEnum::GetList(["DEF"=>"DESC", "SORT"=>"ASC"], ["IBLOCK_ID"=>369, "CODE"=>"STAGE"]); $arStages = []; while($arStage = $propertyEmum->GetNext()){ $arStages[$arStage["XML_ID"]] = $arStage["ID"]; } |
AddEventHandler("iblock", "OnBeforeIBlockElementAdd", "MyOnBeforeIBlockElementAdd"); AddEventHandler("iblock", "OnBeforeIBlockElementUpdate", "MyOnBeforeIBlockElementUpdate"); function MyOnBeforeIBlockElementAdd(&$arFields){ } function MyOnBeforeIBlockElementUpdate(&$arFields){ } |