День добрый. Приспичило мне вывести список товаров, задаваемый при помощи виджета "условий" (на мой взгляд он позволяет более тонко фильтровать элементы каталога).
В стандартных темплейтах массив формируемый виджетом должны принимать bitrix:catalog.section и bitrix:catalog.top. Так как мне нужен пейджер, то остановился на bitrix:catalog.section.
Подготовил страничку, вытянул массив в переменную $cus_fil, в параметрах bitrix:catalog.section поставил "CUSTOM_FILTER" => $cus_fil, (пробовал и "cus_fil" как в FILTER_NAME), но ожидаемый результат не получаю. Мне выводятся или все элементы каталога или ничего - в зависимости от Y/N в параметре "SHOW_ALL_WO_SECTION".
Подумал что может я как-то не правильно вытягиваю данные из виджета. Сделал тестовую страничку с заданным вручную массивом для "CUSTOM_FILTER" - ситуация не изменилась. Построил запхну запрос в "FILTER_NAME" сконвертировав его руками в старый формат - все отфильтровалось.
Собственно вопрос - как заставить работать "CUSTOM_FILTER"? Или это не возможно и нужно все по старинке (правда не ясно как тогда обрабатывать массив их виджета условий)?
Исходник тестовой страницы:
В стандартных темплейтах массив формируемый виджетом должны принимать bitrix:catalog.section и bitrix:catalog.top. Так как мне нужен пейджер, то остановился на bitrix:catalog.section.
Подготовил страничку, вытянул массив в переменную $cus_fil, в параметрах bitrix:catalog.section поставил "CUSTOM_FILTER" => $cus_fil, (пробовал и "cus_fil" как в FILTER_NAME), но ожидаемый результат не получаю. Мне выводятся или все элементы каталога или ничего - в зависимости от Y/N в параметре "SHOW_ALL_WO_SECTION".
Подумал что может я как-то не правильно вытягиваю данные из виджета. Сделал тестовую страничку с заданным вручную массивом для "CUSTOM_FILTER" - ситуация не изменилась. Построил запхну запрос в "FILTER_NAME" сконвертировав его руками в старый формат - все отфильтровалось.
Собственно вопрос - как заставить работать "CUSTOM_FILTER"? Или это не возможно и нужно все по старинке (правда не ясно как тогда обрабатывать массив их виджета условий)?
Исходник тестовой страницы:
Код |
---|
<? require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php"); $APPLICATION->SetTitle("Title"); GLOBAL $myFilter; $myFilter = array(); $cus_fil= array("CLASS_ID" => "CondGroup", "DATA" => array( "All" => "AND", "True" => "True" ), "CHILDREN" => array( "0" => array( "CLASS_ID" => "CondIBSection", "DATA" => array( "logic" => "Equal", "value" => "54" ) ), "1" => array( "CLASS_ID" => "CondIBProp:4:121", "DATA" => array( "logic" => "Equal", "value" => "1010" ) ) ) ); ?> <?$APPLICATION->IncludeComponent( "bitrix:catalog.section", "", Array( "ACTION_VARIABLE" => "action", "ADD_PICT_PROP" => "-", "ADD_PROPERTIES_TO_BASKET" => "Y", "ADD_SECTIONS_CHAIN" => "N", "ADD_TO_BASKET_ACTION" => "ADD", "AJAX_MODE" => "N", "AJAX_OPTION_ADDITIONAL" => "", "AJAX_OPTION_HISTORY" => "N", "AJAX_OPTION_JUMP" => "N", "AJAX_OPTION_STYLE" => "Y", "BACKGROUND_IMAGE" => "-", "BASKET_URL" => "/personal/basket.php", "BROWSER_TITLE" => "-", "CACHE_FILTER" => "N", "CACHE_GROUPS" => "Y", "CACHE_TIME" => "36000000", "CACHE_TYPE" => "A", "COMPATIBLE_MODE" => "Y", "COMPOSITE_FRAME_MODE" => "A", "COMPOSITE_FRAME_TYPE" => "AUTO", "CONVERT_CURRENCY" => "N", "CUSTOM_FILTER" => $cus_fil, "DETAIL_URL" => "", "DISABLE_INIT_JS_IN_COMPONENT" => "N", "DISPLAY_BOTTOM_PAGER" => "Y", "DISPLAY_COMPARE" => "N", "DISPLAY_TOP_PAGER" => "N", "ELEMENT_SORT_FIELD" => "sort", "ELEMENT_SORT_FIELD2" => "id", "ELEMENT_SORT_ORDER" => "asc", "ELEMENT_SORT_ORDER2" => "desc", "FILTER_NAME" => "", "HIDE_NOT_AVAILABLE" => "N", "HIDE_NOT_AVAILABLE_OFFERS" => "N", "IBLOCK_ID" => "4", "IBLOCK_TYPE" => "catalog", "INCLUDE_SUBSECTIONS" => "Y", "LABEL_PROP" => "-", "LINE_ELEMENT_COUNT" => "3", "MESSAGE_404" => "", "MESS_BTN_ADD_TO_BASKET" => "В корзину", "MESS_BTN_BUY" => "Купить", "MESS_BTN_COMPARE" => "Сравнить", "MESS_BTN_DETAIL" => "Подробнее", "MESS_BTN_SUBSCRIBE" => "Подписаться", "MESS_NOT_AVAILABLE" => "Нет в наличии", "META_DESCRIPTION" => "-", "META_KEYWORDS" => "-", "OFFERS_CART_PROPERTIES" => array(), "OFFERS_FIELD_CODE" => array("",""), "OFFERS_LIMIT" => "5", "OFFERS_PROPERTY_CODE" => array("",""), "OFFERS_SORT_FIELD" => "sort", "OFFERS_SORT_FIELD2" => "id", "OFFERS_SORT_ORDER" => "asc", "OFFERS_SORT_ORDER2" => "desc", "PAGER_BASE_LINK_ENABLE" => "N", "PAGER_DESC_NUMBERING" => "N", "PAGER_DESC_NUMBERING_CACHE_TIME" => "36000", "PAGER_SHOW_ALL" => "N", "PAGER_SHOW_ALWAYS" => "N", "PAGER_TEMPLATE" => ".default", "PAGER_TITLE" => "Товары", "PAGE_ELEMENT_COUNT" => "18", "PARTIAL_PRODUCT_PROPERTIES" => "N", "PRICE_CODE" => array(), "PRICE_VAT_INCLUDE" => "Y", "PRODUCT_DISPLAY_MODE" => "N", "PRODUCT_ID_VARIABLE" => "id", "PRODUCT_PROPERTIES" => array(), "PRODUCT_PROPS_VARIABLE" => "prop", "PRODUCT_QUANTITY_VARIABLE" => "quantity", "PRODUCT_SUBSCRIPTION" => "N", "PROPERTY_CODE" => array("",""), "SECTION_CODE" => "", "SECTION_ID" => $_REQUEST["SECTION_ID"], "SECTION_ID_VARIABLE" => "SECTION_ID", "SECTION_URL" => "", "SECTION_USER_FIELDS" => array("",""), "SEF_MODE" => "N", "SET_BROWSER_TITLE" => "Y", "SET_LAST_MODIFIED" => "N", "SET_META_DESCRIPTION" => "Y", "SET_META_KEYWORDS" => "Y", "SET_STATUS_404" => "N", "SET_TITLE" => "Y", "SHOW_404" => "N", "SHOW_ALL_WO_SECTION" => "Y", "SHOW_CLOSE_POPUP" => "N", "SHOW_DISCOUNT_PERCENT" => "N", "SHOW_OLD_PRICE" => "N", "SHOW_PRICE_COUNT" => "1", "TEMPLATE_THEME" => "blue", "USE_MAIN_ELEMENT_SECTION" => "N", "USE_PRICE_COUNT" => "N", "USE_PRODUCT_QUANTITY" => "N" ) );?><?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?> |