в битриксе есть стандартный компонент catalog.section хороший но нехватает фильтрации как сделано в компоненте news. были предприняты меры по доработке. был взят код из компонента news (template.php) и вставлен в catalog.section(template.php)
Код |
---|
<?if($arParams["USE_FILTER"]=="Y"):?>
<?$APPLICATION->IncludeComponent(
"bitrix:catalog.filter",
"",
Array(
"IBLOCK_TYPE" => $arParams["IBLOCK_TYPE"],
"IBLOCK_ID" => $arParams["IBLOCK_ID"],
"FILTER_NAME" => $arParams["FILTER_NAME"],
"FIELD_CODE" => $arParams["FILTER_FIELD_CODE"],
"PROPERTY_CODE" => $arParams["FILTER_PROPERTY_CODE"],
"CACHE_TYPE" => $arParams["CACHE_TYPE"],
"CACHE_TIME" => $arParams["CACHE_TIME"],
"CACHE_GROUPS" => $arParams["CACHE_GROUPS"],
),
$component
);
?>
<br />
<?endif?>
|
так же в component.php был добавлен следующий код из news
Код |
---|
if($arParams["USE_FILTER"]=="Y")
{
if(strlen($arParams["FILTER_NAME"])<=0 || !preg_match("/^[A-Za-z_][A-Za-z01-9_]*$/", $arParams["FILTER_NAME"]))
$arParams["FILTER_NAME"] = "arrFilter";
}
else
$arParams["FILTER_NAME"] = "";
|
а в настройках catalog.section были указаны параметры
Код |
---|
"USE_FILTER" => "Y",
"FILTER_NAME" => "",
"FILTER_FIELD_CODE" => array(),
"FILTER_PROPERTY_CODE" => array("TOWN_NEWS"),
|
ещё была скопирована папка catalog.filter из component/bitrix/news/template/web20/bitrix в component/bitrix/catalog.section/template/web20/bitrix
но фильтр не появился что не так?