Здравствуйте! Помогите, пожалуйста, делаю сайт на Битрикс и столкнулся с такой проблемой:
На главной есть три фильтра: arrFilter, arrFilter2, arrFilter3. Есть кнопка "Подобрать" она открывает страницу с каталогом в заданном разделе и с некими параметрами фильтрации. Так вот, не работает фильрация только в одном разделе (за который отвечает arrFilter2). А также не работает сортиовка по цене во всем каталоге.
Код фильров на главной:
<div class="main_smart_filter"> <?$APPLICATION->IncludeComponent(
"bitrix:catalog.smart.filter",
"main_pechi",
Array(
"IBLOCK_TYPE" => "catalog",
"IBLOCK_ID" => "3",
"SECTION_ID" => "13",
"FILTER_NAME" => "arrFilter",
"CACHE_TYPE" => "A",
"CACHE_TIME" => "36000000",
"CACHE_GROUPS" => "Y",
"SAVE_IN_SESSION" => "N",
"INSTANT_RELOAD" => "N",
"PRICE_CODE" => array(0=>"BASE",)
)
);?>
</div>
<div class="main_smart_filter"> <?$APPLICATION->IncludeComponent("bitrix:catalog.smart.filter", "main_topki", array(
"IBLOCK_TYPE" => "catalog",
"IBLOCK_ID" => "3",
"SECTION_ID" => "24",
"FILTER_NAME" => "arrFilter2",//arrFilter2
"CACHE_TYPE" => "N",
"CACHE_TIME" => "36000000",
"CACHE_GROUPS" => "Y",
"SAVE_IN_SESSION" => "N",
"INSTANT_RELOAD" => "N",
"PRICE_CODE" => array(
0 => "BASE",
)
),
false,
array(
"ACTIVE_COMPONENT" => "Y"
)
);?> </div>
<div class="main_smart_filter"> <?$APPLICATION->IncludeComponent(
"bitrix:catalog.smart.filter",
"main_obl",
Array(
"IBLOCK_TYPE" => "catalog",
"IBLOCK_ID" => "3",
"SECTION_ID" => "31",
"FILTER_NAME" => "arrFilter3",
"CACHE_TYPE" => "A",
"CACHE_TIME" => "36000000",
"CACHE_GROUPS" => "Y",
"SAVE_IN_SESSION" => "N",
"INSTANT_RELOAD" => "N",
"PRICE_CODE" => array(0=>"BASE",)
)
);?> </div>
Вот часть кода шаблона каталога
$_REQUEST['arrFilter_P1_MIN'] = (isset($_REQUEST['arrFilter2_P1_MIN'] ;) ?$_REQUEST['arrFilter2_P1_MIN']:$_REQUEST['arrFilter_P1_MIN'] ;) ;
$_REQUEST['arrFilter_P1_MAX'] = (isset($_REQUEST['arrFilter2_P1_MAX'] ;) ?$_REQUEST['arrFilter2_P1_MAX']:$_REQUEST['arrFilter_P1_MAX'] ;) ;
<? // Elements sort
$arAvailableSort = array(
"name" => Array("name", "asc" ;) ,
"price" => Array('PROPERTY_MINIMUM_PRICE', "desc" ;) ,//PROPERTY_MINIMUM_PRICE
"date" => Array('PROPERTY_NEWPRODUCT', "desc" ;) ,
);
$sort = array_key_exists("sort", $_REQUEST) && array_key_exists(ToLower($_REQUEST["sort"] ;) , $arAvailableSort) ? $arAvailableSort[ToLower($_REQUEST["sort"] ;) ][0] : "PROPERTY_MINIMUM_PRICE";
$sort_order = array_key_exists("order", $_REQUEST) && in_array(ToLower($_REQUEST["order"] ;) , Array("asc", "desc" ;) ) ? ToLower($_REQUEST["order"] ;) : $arAvailableSort[$sort][1];
?>
Заранее спасибо)
На главной есть три фильтра: arrFilter, arrFilter2, arrFilter3. Есть кнопка "Подобрать" она открывает страницу с каталогом в заданном разделе и с некими параметрами фильтрации. Так вот, не работает фильрация только в одном разделе (за который отвечает arrFilter2). А также не работает сортиовка по цене во всем каталоге.
Код фильров на главной:
<div class="main_smart_filter"> <?$APPLICATION->IncludeComponent(
"bitrix:catalog.smart.filter",
"main_pechi",
Array(
"IBLOCK_TYPE" => "catalog",
"IBLOCK_ID" => "3",
"SECTION_ID" => "13",
"FILTER_NAME" => "arrFilter",
"CACHE_TYPE" => "A",
"CACHE_TIME" => "36000000",
"CACHE_GROUPS" => "Y",
"SAVE_IN_SESSION" => "N",
"INSTANT_RELOAD" => "N",
"PRICE_CODE" => array(0=>"BASE",)
)
);?>
</div>
<div class="main_smart_filter"> <?$APPLICATION->IncludeComponent("bitrix:catalog.smart.filter", "main_topki", array(
"IBLOCK_TYPE" => "catalog",
"IBLOCK_ID" => "3",
"SECTION_ID" => "24",
"FILTER_NAME" => "arrFilter2",//arrFilter2
"CACHE_TYPE" => "N",
"CACHE_TIME" => "36000000",
"CACHE_GROUPS" => "Y",
"SAVE_IN_SESSION" => "N",
"INSTANT_RELOAD" => "N",
"PRICE_CODE" => array(
0 => "BASE",
)
),
false,
array(
"ACTIVE_COMPONENT" => "Y"
)
);?> </div>
<div class="main_smart_filter"> <?$APPLICATION->IncludeComponent(
"bitrix:catalog.smart.filter",
"main_obl",
Array(
"IBLOCK_TYPE" => "catalog",
"IBLOCK_ID" => "3",
"SECTION_ID" => "31",
"FILTER_NAME" => "arrFilter3",
"CACHE_TYPE" => "A",
"CACHE_TIME" => "36000000",
"CACHE_GROUPS" => "Y",
"SAVE_IN_SESSION" => "N",
"INSTANT_RELOAD" => "N",
"PRICE_CODE" => array(0=>"BASE",)
)
);?> </div>
Вот часть кода шаблона каталога
$_REQUEST['arrFilter_P1_MIN'] = (isset($_REQUEST['arrFilter2_P1_MIN'] ;) ?$_REQUEST['arrFilter2_P1_MIN']:$_REQUEST['arrFilter_P1_MIN'] ;) ;
$_REQUEST['arrFilter_P1_MAX'] = (isset($_REQUEST['arrFilter2_P1_MAX'] ;) ?$_REQUEST['arrFilter2_P1_MAX']:$_REQUEST['arrFilter_P1_MAX'] ;) ;
<? // Elements sort
$arAvailableSort = array(
"name" => Array("name", "asc" ;) ,
"price" => Array('PROPERTY_MINIMUM_PRICE', "desc" ;) ,//PROPERTY_MINIMUM_PRICE
"date" => Array('PROPERTY_NEWPRODUCT', "desc" ;) ,
);
$sort = array_key_exists("sort", $_REQUEST) && array_key_exists(ToLower($_REQUEST["sort"] ;) , $arAvailableSort) ? $arAvailableSort[ToLower($_REQUEST["sort"] ;) ][0] : "PROPERTY_MINIMUM_PRICE";
$sort_order = array_key_exists("order", $_REQUEST) && in_array(ToLower($_REQUEST["order"] ;) , Array("asc", "desc" ;) ) ? ToLower($_REQUEST["order"] ;) : $arAvailableSort[$sort][1];
?>
Заранее спасибо)