Здравствуйте.
Нужна Ваша консультация по отображению умного фильтра (компонент catalog.smart.filter) одновременно в 2-х частях страницы.
Стандартно страница каталога отображается с умным фильтром(слева/справа/сверху горизонтально и тп ). В этом умном фильтре я указал те свойства, что участвуют в фильтрации товаров ( в торговых предложениях эти свойства я отметил галочкой "Показывать в умном фильтре").
Но сейчас задача стоит в том, чтобы этот умный фильтр отображать в 2-х местах одновременно.
Причем во втором месте должны выводиться только определенные мной свойства(причем это я частично реализовал)
Вот модифицированный вызов компонента:
Но я не могу разделить шаблон фильтра, как бы ни пытался.
Нужна Ваша консультация по отображению умного фильтра (компонент catalog.smart.filter) одновременно в 2-х частях страницы.
Стандартно страница каталога отображается с умным фильтром(слева/справа/сверху горизонтально и тп ). В этом умном фильтре я указал те свойства, что участвуют в фильтрации товаров ( в торговых предложениях эти свойства я отметил галочкой "Показывать в умном фильтре").
Но сейчас задача стоит в том, чтобы этот умный фильтр отображать в 2-х местах одновременно.
Причем во втором месте должны выводиться только определенные мной свойства(причем это я частично реализовал)
Вот модифицированный вызов компонента:
| Код |
|---|
<?$APPLICATION->IncludeComponent(
"bitrix:catalog.smart.filter",
".default",
array(
"IBLOCK_TYPE" => $arParams["IBLOCK_TYPE"],
"IBLOCK_ID" => $arParams["IBLOCK_ID"],
"SECTION_ID" => $arCurSection["ID"],
"FILTER_NAME" => $arParams["FILTER_NAME"],
"CODE_PROPERTY" => array("SERIA_WOOD_PRODUCT", "SERIA_SIMPLE_PRODUCT", "SERIA_PRODUCT"), //Это те самые коды свойств,
//которые будут показываться во 2-й части фильтра по задумке. В шаблоне я получаю эти коды в $arParams["CODE_PROPERTY"]
"PREFILTER_NAME" => "preFilter",
"PRICE_CODE" => $arParams["FILTER_PRICE_CODE"],
"CACHE_TYPE" => "A",
"CACHE_TIME" => $arParams["CACHE_TIME"],
"CACHE_GROUPS" => $arParams["CACHE_GROUPS"],
"SAVE_IN_SESSION" => "N",
"FILTER_VIEW_MODE" => $arParams["FILTER_VIEW_MODE"],
"XML_EXPORT" => "Y",
"SECTION_TITLE" => "NAME",
"SECTION_DESCRIPTION" => "DESCRIPTION",
"HIDE_NOT_AVAILABLE" => $arParams["HIDE_NOT_AVAILABLE"],
"TEMPLATE_THEME" => $arParams["TEMPLATE_THEME"],
"CONVERT_CURRENCY" => $arParams["CONVERT_CURRENCY"],
"CURRENCY_ID" => $arParams["CURRENCY_ID"],
"SEF_MODE" => "Y",
"SEF_RULE" => $arResult["FOLDER"].$arResult["URL_TEMPLATES"]["smart_filter"],
"SMART_FILTER_PATH" => $arResult["VARIABLES"]["SMART_FILTER_PATH"],
"PAGER_PARAMS_NAME" => $arParams["PAGER_PARAMS_NAME"],
"COMPONENT_TEMPLATE" => ".default",
"INSTANT_RELOAD" => !empty($arParams["FILTER_INSTANT_RELOAD"]) ? $arParams["FILTER_INSTANT_RELOAD"] : "Y",
"SECTION_CODE" => "",
"SECTION_CODE_PATH" => ""
),
false
);?>
|
| Код |
|---|
<? $this->SetViewTarget("filter1");?>
//Код блока 1
<? $this->EndViewTarget();?>
<? $this->SetViewTarget("filter2");?>
//Код блока 2
<? $this->EndViewTarget();?>
//Распил шаблона не получается. Функционал и верстка фильтра ломаются
|
Либо может есть еще какие способы, как можно реализовать 2 фильтра одновременно (не обязательно можно использовать только catalog.smart.filter)?
Порекомендовали использовать "api.searchfilter", но исходников нет, модуль был изъят из продажи.
Костыльно не пропишешь (свойства разные и в определенных категориях каталога будет лишь одно из указанных мною свойств в CODE_PROPERTY).
Убирать у свойств торговых предложений галочки с "Показывать в умном фильтре" не вариант, эти свойства мне нужны в основном фильтре.
Что можно сделать в этом случае?