Здравствуйте.
Нужна Ваша консультация по отображению умного фильтра (компонент 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).
Убирать у свойств торговых предложений галочки с "Показывать в умном фильтре" не вариант, эти свойства мне нужны в основном фильтре.
Что можно сделать в этом случае?