Не правильно работает сортировка. не получается разобраться, может кто-то подскажет как поправить.
Соответственно в шаблоне catalog.filter добавил код.
Производит сортировку, но не правильно. Не по порядку, в разнобой. Первый скрин сортировка по возр., второй скрин по убыв.
Код |
---|
<? $sort = 'sort'; if($_REQUEST['TSENA']): $sort = 'PROPERTY_TSENA'; endif; if($_REQUEST['order'] == 'vozvr'): $sortvalue = "asc"; else: $sortvalue = "desc"; endif; ?> <?if($USER->IsAdmin()):?> <?$APPLICATION->IncludeComponent( "bitrix:catalog.filter", "filter_template", Array( "IBLOCK_TYPE" => "1c_catalog", "IBLOCK_ID" => "7", "FILTER_NAME" => "arrFilter", "FIELD_CODE" => array(0=>"",1=>"TSENA",2=>"",), "PROPERTY_CODE" => array(0=>"MATERIAL",1=>"",), "OFFERS_FIELD_CODE" => array(0=>"",1=>"",), "OFFERS_PROPERTY_CODE" => array(0=>"STOCK2",1=>"",), "LIST_HEIGHT" => "5", "TEXT_WIDTH" => "20", "NUMBER_WIDTH" => "5", "CACHE_TYPE" => "A", "CACHE_TIME" => "36000000", "CACHE_GROUPS" => "Y", "SAVE_IN_SESSION" => "N", "PRICE_CODE" => array() ) );?> <?endif;?> <?$APPLICATION->IncludeComponent( "bitrix:catalog", ".default", Array( "IBLOCK_TYPE" => "1c_catalog", "IBLOCK_ID" => "7", "BASKET_URL" => "/personal/cart/", "ACTION_VARIABLE" => "action", "PRODUCT_ID_VARIABLE" => "id", "SECTION_ID_VARIABLE" => "SECTION_ID", "PRODUCT_QUANTITY_VARIABLE" => "quantity", "PRODUCT_PROPS_VARIABLE" => "prop", "SEF_MODE" => "Y", "SEF_FOLDER" => "/catalog/", "AJAX_MODE" => "N", "AJAX_OPTION_JUMP" => "N", "AJAX_OPTION_STYLE" => "Y", "AJAX_OPTION_HISTORY" => "N", "CACHE_TYPE" => "N", "CACHE_TIME" => "36000000", "CACHE_FILTER" => "N", "CACHE_GROUPS" => "Y", "SET_TITLE" => "Y", "SET_STATUS_404" => "Y", "USE_ELEMENT_COUNTER" => "Y", "USE_FILTER" => "Y", "FILTER_NAME" => "arrFilter", "FILTER_FIELD_CODE" => array(0=>"NAME",1=>"",), "FILTER_PROPERTY_CODE" => array(0=>"STOCK2",1=>"TSENA",2=>"",), "FILTER_PRICE_CODE" => array(0=>"Базовая",), "FILTER_OFFERS_FIELD_CODE" => array(0=>"",1=>"",), "FILTER_OFFERS_PROPERTY_CODE" => array(0=>"",1=>"",), "USE_REVIEW" => "Y", "MESSAGES_PER_PAGE" => "10", "USE_CAPTCHA" => "Y", "REVIEW_AJAX_POST" => "Y", "PATH_TO_SMILE" => "/bitrix/images/forum/smile/", "FORUM_ID" => "1", "URL_TEMPLATES_READ" => "", "SHOW_LINK_TO_FORUM" => "Y", "POST_FIRST_MESSAGE" => "N", "USE_COMPARE" => "N", "PRICE_CODE" => array(0=>"Базовая",), "USE_PRICE_COUNT" => "N", "SHOW_PRICE_COUNT" => "1", "PRICE_VAT_INCLUDE" => "Y", "PRICE_VAT_SHOW_VALUE" => "N", "PRODUCT_PROPERTIES" => array(), "USE_PRODUCT_QUANTITY" => "Y", "CONVERT_CURRENCY" => "N", "QUANTITY_FLOAT" => "N", "OFFERS_CART_PROPERTIES" => array(), "SHOW_TOP_ELEMENTS" => "N", "SECTION_COUNT_ELEMENTS" => "N", "SECTION_TOP_DEPTH" => "1", "PAGE_ELEMENT_COUNT" => "12", "LINE_ELEMENT_COUNT" => "3", "ELEMENT_SORT_FIELD" => $sort, "ELEMENT_SORT_ORDER" => $sortvalue, "LIST_PROPERTY_CODE" => array(0=>"TSENA",1=>"SALELEADER",2=>"",), "INCLUDE_SUBSECTIONS" => "N", "LIST_META_KEYWORDS" => "-", "LIST_META_DESCRIPTION" => "-", "LIST_BROWSER_TITLE" => "-", "LIST_OFFERS_FIELD_CODE" => array(0=>"",1=>"",), "LIST_OFFERS_PROPERTY_CODE" => array(0=>"ARTIKULNVC",1=>"",), "LIST_OFFERS_LIMIT" => "5", "DETAIL_PROPERTY_CODE" => array(0=>"",1=>"RECOMMEND",2=>"",), "DETAIL_META_KEYWORDS" => "-", "DETAIL_META_DESCRIPTION" => "-", "DETAIL_BROWSER_TITLE" => "-", "DETAIL_OFFERS_FIELD_CODE" => array(0=>"",1=>"",), "DETAIL_OFFERS_PROPERTY_CODE" => array(0=>"",1=>"MOSHCHNOST",2=>"",), "LINK_IBLOCK_TYPE" => "", "LINK_IBLOCK_ID" => "", "LINK_PROPERTY_SID" => "", "LINK_ELEMENTS_URL" => "link.php?PARENT_ELEMENT_ID=#ELEMENT_ID#", "USE_ALSO_BUY" => "Y", "ALSO_BUY_ELEMENT_COUNT" => "3", "ALSO_BUY_MIN_BUYES" => "2", "USE_STORE" => "Y", "USE_STORE_PHONE" => "N", "USE_STORE_SCHEDULE" => "N", "USE_MIN_AMOUNT" => "Y", "MIN_AMOUNT" => "10", "STORE_PATH" => "/store/#store_id#", "MAIN_TITLE" => "Наличие на складах", "OFFERS_SORT_FIELD" => "sort", "OFFERS_SORT_ORDER" => "asc", "DISPLAY_TOP_PAGER" => "Y", "DISPLAY_BOTTOM_PAGER" => "Y", "PAGER_TITLE" => "Товары", "PAGER_SHOW_ALWAYS" => "N", "PAGER_TEMPLATE" => "", "PAGER_DESC_NUMBERING" => "N", "PAGER_DESC_NUMBERING_CACHE_TIME" => "36000000", "PAGER_SHOW_ALL" => "Y", "PATH_TO_SHIPPING" => "#SITE_DIR#about/delivery/", "DISPLAY_IMG_WIDTH" => "180", "DISPLAY_IMG_HEIGHT" => "225", "DISPLAY_DETAIL_IMG_WIDTH" => "280", "DISPLAY_DETAIL_IMG_HEIGHT" => "280", "DISPLAY_MORE_PHOTO_WIDTH" => "280", "DISPLAY_MORE_PHOTO_HEIGHT" => "280", "SHARPEN" => "30", "AJAX_OPTION_ADDITIONAL" => "", "SEF_URL_TEMPLATES" => Array( "sections" => "", "section" => "#SECTION_CODE#/", "element" => "#SECTION_CODE#/#ELEMENT_CODE#/", "compare" => "compare/" ), "VARIABLE_ALIASES" => Array( "sections" => Array(), "section" => Array(), "element" => Array(), "compare" => Array(), ) ) );?> |
Соответственно в шаблоне catalog.filter добавил код.
Код |
---|
<?if ($_GET["sort"] == "TSENA") { $arParams["ELEMENT_SORT_FIELD"] = "property_TSENA"; } if ($_GET["order"] == "vozvr") $arParams["ELEMENT_SORT_ORDER"]= "asc"; if ($_GET["order"] == "ubiv") $arParams["ELEMENT_SORT_ORDER"]= "desc"; ?> <div class="sort">Сортировать по цене: <a href="?sort=TSENA&order=ubiv">по убыв.</a> | <a href="?sort=TSENA&order=vozvr">по возвр.</a></div> |
Производит сортировку, но не правильно. Не по порядку, в разнобой. Первый скрин сортировка по возр., второй скрин по убыв.