Несколько полезных ссылок по теме
https://dev.1c-bitrix.ru/support/forum/forum6/topic17238/
https://skarzhinets.com/info/blog/bitriks-sortirovka-tovarov-po-cene-naimenovaniju.html
http://scarside.ru/bloknote/1s-bitriks/bitriks-sortirovka-tovarov-po-tsene-naimenovaniyu/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
Для сортировки по имени и по настраиваему полю- нужное расскомментировать и добабить get проверку. // по основному полю //$arParams["ELEMENT_SORT_FIELD"] = 'name'; //$arParams["ELEMENT_SORT_ORDER"] = 'DESC'; // по настраиваемым полям $arParams["ELEMENT_SORT_FIELD"] = 'property_att_seriya'; $arParams["ELEMENT_SORT_ORDER"] = 'ASC'; <?$APPLICATION->IncludeComponent( "bitrix:news.list", "catalog", array( .... "SORT_BY1" => $arParams["ELEMENT_SORT_FIELD"], ... "SORT_ORDER1" => $arParams["ELEMENT_SORT_ORDER"], ... ) ); |
Внимание- для работы пагинации надо писать в нижнем регистре свойства property_att_seriya
но никак не property_ATT_SERIYA ! Пагинации пизда тогда
в Js таже хрень
location.href = ‘/katalog/?sort=property_att_seriya’;
вариант get проверки
1 2 3 4 5 6 7 8 9 10 11 12 13 |
if(!isset($_GET["sort"])){//дефайлтные значения $arParams["ELEMENT_SORT_FIELD"] = 'name'; $arParams["ELEMENT_SORT_ORDER"] = 'DESC'; }else{ if ($_GET["sort"] == "name" ){ $arParams["ELEMENT_SORT_FIELD"] = $_GET["sort"]; $arParams["ELEMENT_SORT_ORDER"] = 'DESC'; } if ($_GET["sort"] == "property_att_seriya" ){ $arParams["ELEMENT_SORT_FIELD"] = 'property_att_seriya'; $arParams["ELEMENT_SORT_ORDER"] = 'ASC'; } } |
есть вопрос. в рез-те поиска сортировка работает только на текущую страницу, но не на весь рез-т. Следующая стр. не продолжает сортировку.
Теоретически можно в сессию сортировку писать, или же проверить,почему данный урл в пагинацию не передается при перезагрузке. (Продебажить компонент пагинации)