К примеру нужно найти шину с шириной 205. Компонент должен первые два товара поставить с брендом Michlen а все остальные должны уже шины отсортированы по просмотрам.
Сортировка элементов в каталоге
Вопросы и ответы по 1С-Битрикс, разборы реальных задач и обсуждение заметок блога. Задайте вопрос или помогите другим — все сообщения проходят модерацию.
|
Гость: 25.03.2025 12:00:00
В каталоге есть фильтр. Нужно сделать так, чтобы первый и второй товар были определенного бренда, а все остальные товары сортировались по просмотрам.
К примеру нужно найти шину с шириной 205. Компонент должен первые два товара поставить с брендом Michlen а все остальные должны уже шины отсортированы по просмотрам. |
|
Михаил Базаров: 25.03.2025 08:00:00
Такое только через модификацию результата. Сейчас готовый код не напишу (со временем напряженка), но подсказка:
- В result_modifier (catalog.section) проверяем применен ли фильтр (будет не пустой массив с отбором). - В результатах фильтра будут ID элементов. - По ID элемента находим те у которых нужный бренд. - С помощью array_slice вырезаем их из общего потока. - C помощью array_map выделяем в отдельный массив. - Совмещаем с array_merge, при этом массив вырезанных должен быть первым (элементы окажутся вверху) Это быстрое решение, которое пришло в голову. Но если подумать с часок, может придет что-то более изящное |
|
Гость: 26.03.2025 10:00:00
Да, сделал такой вариант. Искал в $arResult['ITEMS'] нужные товары и ставил их вперед. Но этот вариант работает не часто, так как в каталоге есть пагинация и на странице всего 20 товаров и соответственно в $arResult['ITEMS'] их тоже всего 20. А на странице может не оказаться просто таких товаров, а они могут быть на следующей, потому поиск может и не найти товаров.
|
Индивидуальный предприниматель
- mihail@bazarow.ru
- Написать в МАКС
- ВКонтакте
- Написать в Телеграм
- Написать через сайт
Работаю официально, с заключением договора и предоставлением всех закрывающих документов.
Заметки по 1С-Битрикс
-
Как запретить покупку более одного товара в 1С-Битрикс
Иногда бизнес-логика проекта требует ограничить пользователя покупкой ровно одного товара. Сохранив удобство для пользователя и менеджера по отбработк...
-
Вывести новости из конкретного раздела инфоблока Битрикс
Бывает что требуется вывести конкретные новости или статьи из одного раздела инфоблока в Битрикс, для этого потребуется сначала вывести сам компнент "...
-
Дать пользователю возможность быстро отредактировать материал
На одном из разрабатываемых сайтов, пользователи формируют его контент. После регистрации, становится доступен персональный раздел в котором, помимо с...
-
Индивидуальные цены в 1С-Битрикс: в каталоге и при оформлении заказа
В этой заметке постараюсь описать процесс реализации индивидуальных цен, для пользователей. При этом, индивидуальные цены будут синхронизироваться с 1...
-
Заменить popap "Товар добавлен в корзину" на собственное окно
Задача: заменить модальное окно, которое появляется при добавлении товара в корзину — "Товар добавлен в корзину". Сделать его удобнее для по...
-
Заполнение множественного пользовательского свойства типа "строка" через API
Задача: когда пользователь заходит в мобильное приложение, нужно сохранить FCM токен устройства в пользовательское поле "Токены устройств". ...