Меню

Сортировка элементов по индексу сортировки значений типа список

Просмотров: 15432

Внутри любого компонента есть заранее заложенные поля для сортировки элементов. Можно сортировать элементы в разных направлениях по этим полям, однако возможна и сортировка по произвольным значениям. Например по свойству типа список, по умолчанию по алфавиту

Однако возможна сортировка по произвольным значениям. Например по свойству типа список. Просто выбираем параметр "Другое" в выпадающем списке и вписываем код свойства, по которому нужно сортировать.

Здесь, обязательно, перед кодом свойства нужно вписать property_ в начало поля.

Но, не всегда все очевидно. Предположим, что у нас есть свойство типа список c кодом ATT_TIP_ELEMENTA: просто вписываем property_ATT_TIP_ELEMENTA и все эементы отсортируются по названию элемента списка в алфавитном порядка.

Но мы хотим не по алфавиту, а по сортировке внутри значений свойства. В моем случае, есть несколько значений для свойства список и каждому из них проставлена сортировка.

Казалось бы, если распечатать массив $arResult для компонента каталог (или новости, это не важно), сортировка свойств хранится в поле VALUE_SORT и в параметры сортировки нужно вписывать property_ATT_TIP_ELEMENTA_value_sort

Но нет! Для этой настройки нужно использовать propertysort_ATT_TIP_ELEMENTA. И тогда все сработает.

Разновидности сортировок:

И приложу несколько примеров сортировки для разных режимов использования. Взято из официальной документации Битрикc:

  • catalog_ - по полю CATALOG_FIELD (может быть PRICE - цена или CURRENCY - валюта) из цены с типом PRICE_TYPE (например, catalog_PRICE_1 или CATALOG_CURRENCY_3). Сортировка должна иметь формат: CATALOG_(PRICE или CURRENCY)_ID-типа-цены.
  • catalog_QUANTITY - сортировка по количеству.
  • PROPERTY_. - по значению поля элемента указанного в качестве привязки. PROPERTY_CODE - мнемонический или символьный код свойства типа привязка к элементам. FIELD может принимать значения: ID, TIMESTAMP_X, MODIFIED_BY, CREATED, CREATED_DATE, CREATED_BY, IBLOCK_ID, ACTIVE, ACTIVE_FROM, ACTIVE_TO, SORT, NAME, SHOW_COUNTER, SHOW_COUNTER_START, CODE, TAGS, XML_ID, STATUS
  • PROPERTY_.PROPERTY_ - по значению свойства элемента указанного в качестве привязки. PROPERTY_CODE - мнемонический или символьный код свойства типа привязки к элементам. PROPERTY_CODE2 - код свойства связанных элементов.
  • HAS_PREVIEW_PICTURE и HAS_DETAIL_PICTURE - сортировка по наличию и отсутствию картинок.
Виталий Агеев 19.07.2018
Познавательно!спасибо ) Кстати, было бы здорово увидеть твой урок, как выводить стоимость доставки в карточке товара (аналогично той, которая выводится при оформлении заказа) Или можешь хотя бы расписать, как такое лучше делать?
Гость 05.07.2024
Отлично!
Опечатка есть: "МОжно сортировать".
Текст дублируется в начале: "возможна и сортировка по произвольным значениям. Например по свойству типа список"
Гость 13.03.2025
А как отсортировать по свойству разделов товаров "Сортировка"?
Михаил Базаров 13.03.2025
Это встроенное "свойство" элементов битрикса, в API оно с кодом SORT - можно сортировать и по нему.
Гость 17.03.2025
Я имел ввиду свойство "Сортировка" у разделов. Т.е. если есть раздел Украшения, а в нём раздел Кольца с сортировкой 100, Серьги с сортировкой 200, Браслеты с сортировкой 300, то в разделе Украшения должны выводиться сначала все товары из подраздела Кольца, затем все товары из подраздела Серьги, затем все товары из Браслетов.
Михаил Базаров 17.03.2025
Для такого нужно дорабатывать компонент catalog.section на сколько помню в нем нет встроенной сортировки элементов по родительскому разделу

Стоимость и сроки разработки сайтов и приложений

Окончательная стоимость и сроки разработки сайта формируются после обсуждения деталей на этапе заказа. Как правило, они редко выходят за обозначенные ниже рамки.

Интернет-магазин: индивидуальная разработка от 350 000 руб.
от 5-ти недель

Cоздание интернет-магазина на 1С-Битрикс. Разработка с нуля, оптимизация кода и производительности под конкретный проект и требования. Реализация любого функционала без ограничений готовых решений.

Интернет-магазин: на готовом решении от 60 000 руб.
от 7-ми дней

Готовое решение — вариант для тех, кто не хочет тратить много средств на индивидуальный проект, и не имеет серьезных требований к сайту. Магазин, быстро запускается на базе одного из 200-та готовых решений

Мобильное приложение от 400 000 руб.
от 1-го месяца

Разработка кроссплатформенного мобильного приложения, которое не уступает нативным решениям как в производительности, так и пользовательском опыте. Публикуется в AppStore, GooglePlay и RuStore

Опросник на разработку. После ознакомления, задам уточняющие вопросы и оценю проект по стоимости и срокам разработки.