C битриксом работаю относительно недавно, для подключения умного фильтра добавил в section вызов умного фильтра,
но, фильтр то фильтрует , а вот компонент каталог совсем не обращает внимание на его работу, т. е. инструкция по ссылке[url=но, фильтр то фильтрует , а вот компонент каталог совсем не обращает внимание на его работу, т. е. инструкция по ссылке http://dev.1c-bitrix.ru/learning/course/?COURSE_ID=42&LESSON_ID=5167] http://dev.1c-bitrix.ru/learning/course/?COURSE_ID=42&LESSON_ID=5167[/url] не работает
[CODE]<?
if (CModule::IncludeModule("iblock"))
{
$arFilter = array(
"ACTIVE" => "Y",
"GLOBAL_ACTIVE" => "Y",
"IBLOCK_ID" => $arParams["IBLOCK_ID"],
);
if(strlen($arResult["VARIABLES"]["SECTION_CODE"])>0)
{
$arFilter["=CODE"] = $arResult["VARIABLES"]["SECTION_CODE"];
}
elseif($arResult["VARIABLES"]["SECTION_ID"]>0)
{
$arFilter["ID"] = $arResult["VARIABLES"]["SECTION_ID"];
}
$obCache = new CPHPCache;
if($obCache->InitCache(36000, serialize($arFilter), "/iblock/catalog"))
{
$arCurSection = $obCache->GetVars();
}
else
{
$arCurSection = array();
$dbRes = CIBlockSection::GetList(array(), $arFilter, false, array("ID"));
$dbRes = new CIBlockResult($dbRes);
if(defined("BX_COMP_MANAGED_CACHE"))
{
global $CACHE_MANAGER;
$CACHE_MANAGER->StartTagCache("/iblock/catalog");
if ($arCurSection = $dbRes->GetNext())
{
$CACHE_MANAGER->RegisterTag("iblock_id_".$arParams["IBLOCK_ID"]);
}
$CACHE_MANAGER->EndTagCache();
}
else
{
if(!$arCurSection = $dbRes->GetNext())
$arCurSection = array();
}
$obCache->EndDataCache($arCurSection);
}
?>
<?$APPLICATION->IncludeComponent("bitrix:catalog.smart.filter", "template3", array(
"IBLOCK_TYPE" => $arParams["IBLOCK_TYPE"],
"IBLOCK_ID" => $arParams["IBLOCK_ID"],
"SECTION_ID" => $arCurSection["ID"],
"FILTER_NAME" => "arrFilter",
"CACHE_TYPE" => "A",
"CACHE_TIME" => "36000000",
"CACHE_GROUPS" => "Y",
"SAVE_IN_SESSION" => "N",
"INSTANT_RELOAD" => "Y",
"PRICE_CODE" => array(
0 => "Основное (руб.)",
)
),
false
);?>
<?
}
?>[/CODE]