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

Просмотров: 6132 | Комментариев: 1

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

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

Здесь, обязательно, перед кодом свойства нужно вписать 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 - сортировка по наличию и отсутствию картинок.

Еще заметки:

Необходимо войти что бы оставить комментарий:
Виталий Агеев
Познавательно!спасибо ) Кстати, было бы здорово увидеть твой урок, как выводить стоимость доставки в карточке товара (аналогично той, которая выводится при оформлении заказа) Или можешь хотя бы расписать, как такое лучше делать?
Мой youtube канал.

На нем, уже много видеоуроков по 1С-Битрикс. Как одиночные видео так и серии видеоуроков Перейти на канал

Ваша реклама в этом месте: 5 000 руб. / мес, сквозная по всему блогу.
Просьба писать на mihail@bazarow.ru
Поделиться заметкой: Спасибо, это помогает развивать сайт:

Авторизация

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