Добрый день! Сильно не бейте, новичок пока в битриксе. Не могу настроить умный фильтр для сортировки торговых предложений.
Структура чпу следующая catalog/section_code/element_code, а в элементе торговые предложения без цен, к примеру балка, у которых отличие только в длине, т.е. сортировать нужно по длине. В корне сайта лежит папка catalog, в ней файлы index.php в котором вызов компонента catalog.section.list вот его код :
<?$APPLICATION->IncludeComponent( "bitrix:catalog.section.list",
"razdel",
array(
.......
"IBLOCK_TYPE" => "catalog",
"IBLOCK_ID" => "11",
"SECTION_ID" => $_REQUEST["SECTION_ID"],
"SECTION_CODE" => $_REQUEST["SECTION_CODE"],
"SECTION_URL" => "#SITE_DIR#/catalog/#SECTION_CODE#/",
.....
);?>
затем в файле section-list.php вызов компонента catalog.section:
<?$APPLICATION->IncludeComponent( "bitrix:catalog.section",
".default",
array(
........
"DETAIL_URL" => "#SITE_DIR#/catalog/#SECTION_CODE#/#ELEMENT_CODE#",
"DISABLE_INIT_JS_IN_COMPONENT" => "N",
"DISCOUNT_PERCENT_POSITION" => "bottom-right",
"DISPLAY_BOTTOM_PAGER" => "Y",
"DISPLAY_TOP_PAGER" => "N",
"ELEMENT_SORT_FIELD" => "sort",
"ELEMENT_SORT_FIELD2" => "id",
"ELEMENT_SORT_ORDER" => "asc",
"ELEMENT_SORT_ORDER2" => "desc",
"ENLARGE_PRODUCT" => "PROP",
"ENLARGE_PROP" => "-",
"FILTER_NAME" => "arrFilter",
"HIDE_NOT_AVAILABLE" => "N",
"HIDE_NOT_AVAILABLE_OFFERS" => "N",
"IBLOCK_ID" => "11",
"IBLOCK_TYPE" => "catalog",
......
"RCM_PROD_ID" => $_REQUEST["PRODUCT_ID"],
"RCM_TYPE" => "personal",
"SECTION_CODE" => $_REQUEST["SECTION_CODE"],
"SECTION_ID" => $_REQUEST["SECTION_ID"],
"SECTION_ID_VARIABLE" => "SECTION_ID",
"SECTION_URL" => "#SITE_DIR#/catalog/#SECTION_CODE#/",
......
"SEF_RULE" => "",
"SECTION_CODE_PATH" => "/catalog/#SECTION_CODE#/"
),
false
);?>
и в файле detail.php вызов catalog.smart.filter и компонента section element :
<?$APPLICATION->IncludeComponent( "bitrix:catalog.smart.filter",
"filter_element",
array(
"COMPONENT_TEMPLATE" => "filter_element",
"IBLOCK_TYPE" => "catalog",
"IBLOCK_ID" => "11",
"SECTION_ID" => $_REQUEST["SECTION_ID"],
"SECTION_CODE" => $_REQUEST["SECTION_CODE"],
"FILTER_NAME" => "arrFilter",
........
"SEF_RULE" => "/catalog/#SECTION_CODE#/filter/#SMART_FILTER_PATH#/apply/",
"SECTION_CODE_PATH" => "/catalog/#SECTION_CODE#/",
"SMART_FILTER_PATH" => $_REQUEST["SMART_FILTER_PATH"],
"CURRENCY_ID" => "RUB"
),
false
);?>
<?$APPLICATION->IncludeComponent( "bitrix:catalog.element",
".default",
array(
.............
"DETAIL_URL" => "#SITE_DIR#/catalog/#SECTION_CODE#/#ELEMENT_CODE#/",
"DISABLE_INIT_JS_IN_COMPONENT" => "N",
"DISCOUNT_PERCENT_POSITION" => "bottom-right",
"DISPLAY_COMPARE" => "N",
"DISPLAY_NAME" => "Y",
"DISPLAY_PREVIEW_TEXT_MODE" => "E",
"ELEMENT_CODE" => $_REQUEST["ELEMENT_CODE"],
"ELEMENT_ID" => $_REQUEST["ELEMENT_ID"],
..........
"IBLOCK_ID" => "11",
"IBLOCK_TYPE" => "catalog",
...........
"LINK_ELEMENTS_URL" => "link.php?PARENT_ELEMENT_ID=#ELEMENT_ID#",
"LINK_IBLOCK_ID" => "",
"LINK_IBLOCK_TYPE" => "",
"LINK_PROPERTY_SID" => "",
"MAIN_BLOCK_OFFERS_PROPERTY_CODE" => array(
0 => "ART",
1 => "LENGHT_PROP",
..........
"OFFERS_CART_PROPERTIES" => array(
0 => "ART",
1 => "LENGHT_PROP",
...............
"RELATIVE_QUANTITY_FACTOR" => "5",
"SECTION_CODE" => $_REQUEST["SECTION_CODE"],
"SECTION_CODE_PATH" => "/catalog/#SECTION_CODE#/",
"SECTION_ID" => $_REQUEST["SECTION_ID"],
"SECTION_ID_VARIABLE" => "SECTION_ID",
"SECTION_URL" => "#SITE_DIR#/catalog/#SECTION_CODE#/",
"SEF_MODE" => "Y",
"SEF_RULE" => "",
......
),
false
);?>
В админке два инфоблока Разделы и Торговые предложения, работает все кроме сортировки по торговым предложениям. В форме фильтра на странице товара выводится свойство LENGHT_PROP , по которому и нужно сделать сортировку, после нажатия на кнопку Показать направляет на страницу, на которой пишется Раздел не найден. В чем моя ошибка, прошу помощи, потому что поиск результатов не дал, да и версия битрикс 17.5.13
Структура чпу следующая catalog/section_code/element_code, а в элементе торговые предложения без цен, к примеру балка, у которых отличие только в длине, т.е. сортировать нужно по длине. В корне сайта лежит папка catalog, в ней файлы index.php в котором вызов компонента catalog.section.list вот его код :
<?$APPLICATION->IncludeComponent( "bitrix:catalog.section.list",
"razdel",
array(
.......
"IBLOCK_TYPE" => "catalog",
"IBLOCK_ID" => "11",
"SECTION_ID" => $_REQUEST["SECTION_ID"],
"SECTION_CODE" => $_REQUEST["SECTION_CODE"],
"SECTION_URL" => "#SITE_DIR#/catalog/#SECTION_CODE#/",
.....
);?>
затем в файле section-list.php вызов компонента catalog.section:
<?$APPLICATION->IncludeComponent( "bitrix:catalog.section",
".default",
array(
........
"DETAIL_URL" => "#SITE_DIR#/catalog/#SECTION_CODE#/#ELEMENT_CODE#",
"DISABLE_INIT_JS_IN_COMPONENT" => "N",
"DISCOUNT_PERCENT_POSITION" => "bottom-right",
"DISPLAY_BOTTOM_PAGER" => "Y",
"DISPLAY_TOP_PAGER" => "N",
"ELEMENT_SORT_FIELD" => "sort",
"ELEMENT_SORT_FIELD2" => "id",
"ELEMENT_SORT_ORDER" => "asc",
"ELEMENT_SORT_ORDER2" => "desc",
"ENLARGE_PRODUCT" => "PROP",
"ENLARGE_PROP" => "-",
"FILTER_NAME" => "arrFilter",
"HIDE_NOT_AVAILABLE" => "N",
"HIDE_NOT_AVAILABLE_OFFERS" => "N",
"IBLOCK_ID" => "11",
"IBLOCK_TYPE" => "catalog",
......
"RCM_PROD_ID" => $_REQUEST["PRODUCT_ID"],
"RCM_TYPE" => "personal",
"SECTION_CODE" => $_REQUEST["SECTION_CODE"],
"SECTION_ID" => $_REQUEST["SECTION_ID"],
"SECTION_ID_VARIABLE" => "SECTION_ID",
"SECTION_URL" => "#SITE_DIR#/catalog/#SECTION_CODE#/",
......
"SEF_RULE" => "",
"SECTION_CODE_PATH" => "/catalog/#SECTION_CODE#/"
),
false
);?>
и в файле detail.php вызов catalog.smart.filter и компонента section element :
<?$APPLICATION->IncludeComponent( "bitrix:catalog.smart.filter",
"filter_element",
array(
"COMPONENT_TEMPLATE" => "filter_element",
"IBLOCK_TYPE" => "catalog",
"IBLOCK_ID" => "11",
"SECTION_ID" => $_REQUEST["SECTION_ID"],
"SECTION_CODE" => $_REQUEST["SECTION_CODE"],
"FILTER_NAME" => "arrFilter",
........
"SEF_RULE" => "/catalog/#SECTION_CODE#/filter/#SMART_FILTER_PATH#/apply/",
"SECTION_CODE_PATH" => "/catalog/#SECTION_CODE#/",
"SMART_FILTER_PATH" => $_REQUEST["SMART_FILTER_PATH"],
"CURRENCY_ID" => "RUB"
),
false
);?>
<?$APPLICATION->IncludeComponent( "bitrix:catalog.element",
".default",
array(
.............
"DETAIL_URL" => "#SITE_DIR#/catalog/#SECTION_CODE#/#ELEMENT_CODE#/",
"DISABLE_INIT_JS_IN_COMPONENT" => "N",
"DISCOUNT_PERCENT_POSITION" => "bottom-right",
"DISPLAY_COMPARE" => "N",
"DISPLAY_NAME" => "Y",
"DISPLAY_PREVIEW_TEXT_MODE" => "E",
"ELEMENT_CODE" => $_REQUEST["ELEMENT_CODE"],
"ELEMENT_ID" => $_REQUEST["ELEMENT_ID"],
..........
"IBLOCK_ID" => "11",
"IBLOCK_TYPE" => "catalog",
...........
"LINK_ELEMENTS_URL" => "link.php?PARENT_ELEMENT_ID=#ELEMENT_ID#",
"LINK_IBLOCK_ID" => "",
"LINK_IBLOCK_TYPE" => "",
"LINK_PROPERTY_SID" => "",
"MAIN_BLOCK_OFFERS_PROPERTY_CODE" => array(
0 => "ART",
1 => "LENGHT_PROP",
..........
"OFFERS_CART_PROPERTIES" => array(
0 => "ART",
1 => "LENGHT_PROP",
...............
"RELATIVE_QUANTITY_FACTOR" => "5",
"SECTION_CODE" => $_REQUEST["SECTION_CODE"],
"SECTION_CODE_PATH" => "/catalog/#SECTION_CODE#/",
"SECTION_ID" => $_REQUEST["SECTION_ID"],
"SECTION_ID_VARIABLE" => "SECTION_ID",
"SECTION_URL" => "#SITE_DIR#/catalog/#SECTION_CODE#/",
"SEF_MODE" => "Y",
"SEF_RULE" => "",
......
),
false
);?>
В админке два инфоблока Разделы и Торговые предложения, работает все кроме сортировки по торговым предложениям. В форме фильтра на странице товара выводится свойство LENGHT_PROP , по которому и нужно сделать сортировку, после нажатия на кнопку Показать направляет на страницу, на которой пишется Раздел не найден. В чем моя ошибка, прошу помощи, потому что поиск результатов не дал, да и версия битрикс 17.5.13