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();
Метка: Snippet
Сбросить фасетный индекс в Битрикс
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;
}