Bitrix\Main\Loader::includeModule("iblock");
// Old API
$arIBlockTypes = CIBlockParameters::GetIBlockTypes(["-" => " "]);
// D7
$arIblockTypes = Bitrix\Iblock\TypeTable::getList([
"select" => ["*", "NAME" => "LANG_MESSAGE.NAME"],
"filter" => ["LANG_MESSAGE.LANGUAGE_ID" => "ru"],
])->fetchAll();
Рубрика: Bitrix
Сбросить фасетный индекс в Битрикс
Bitrix\Main\Loader::includeModule("iblock");
$IBLOCK_ID = 1;
Bitrix\Iblock\PropertyIndex\Manager::DeleteIndex($IBLOCK_ID);
Bitrix\Iblock\PropertyIndex\Manager::markAsInvalid($IBLOCK_ID);
Список Highload-блоков в Битрикс
use Bitrix\Main\Loader;
use Bitrix\Highloadblock as HL;
Loader::includeModule("highloadblock");
$arHLBlocks = HL\HighloadBlockTable::getList()->fetchAll();
Поиск по артикулу в компоненте bitrix:search.title
Указанный ниже код необходимо добавить в файл init.php.
AddEventHandler("search", "BeforeIndex", "BeforeIndexHandler");
function BeforeIndexHandler($arFields) {
if(!CModule::IncludeModule("iblock")) // подключаем модуль
return $arFields;
if(($arFields["MODULE_ID"] == "iblock") && ($arFields["PARAM2"] == 16)) {
$dbProps = CIBlockElement::GetProperty( // Запросим свойства индексируемого элемента $arFields["PARAM2"], // BLOCK_ID индексируемого свойства
$arFields["ITEM_ID"], // ID индексируемого свойства
array(), // Сортировка (можно упустить)
array("CODE" => "CML2_ARTICLE") // CODE свойства (в данном случае артикул)
);
if($arProp = $dbProps->Fetch()) {
$arFields["TITLE"] .= " ".$arProp["NAME"]; // Добавим свойство в конец заголовка индексируемого элемента
}
}
return $arFields;
}
Шпаргалка Bitrix
Подключение неразделенного пролога:
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
Если по тем или иным причинам необходимо разделить пролог на служебную (prolog_before.php) и визуальную (prolog_after.php) части, то используются следующие коды:
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php"); ... require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_after.php");
Подключение неразделенного эпилога:
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");
Если по тем или иным причинам необходимо разделить эпилог на визуальную (epilog_before.php) и служебную (epilog_after.php) части, то используются следующие коды:
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_before.php"); ... require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after.php");