К примеру нужно найти шину с шириной 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
- Открыть чат в МАКС
- ВКонтакте
- Перейти в Telegram
- Связаться через сайт
Работаю официально, с заключением договора и предоставлением всех закрывающих документов.
Заметки по 1С-Битрикс
-
СЕО настройки сайта перед запуском
В видео рассказано о первоначальной СЕО настройке сайта перед запуском. Все показанное является компилицией из собственного опыта взаимодействия с СЕО...
-
Бонус за выполненный заказ на внутренний счет пользователя
Задача: после того как заказ, в интернет-магазине, перешел в статус "Выполнен" начислить пользователю 5% от стоимости заказа, на накопительный счет - ...
-
Получить и вывести данные из профиля покупателя в кабинете пользователя 1С-Битрикс
Задача: вывести пользователю информацию по всем, его, профилям покупателя в компоненте sale.personal.profile.list без перехода в детальное описание/ре...
-
Не дать купить товара больше, чем находится на определенных складах
Задача: в магазине 20 складов, на всех есть остатки но нужно ограничить покупку товара только остатками на двух складах, не меняя параметр "Доступное ...
-
Данные о заказе текущего пользователя
Иногда нужно получить данные о заказе текущего пользователя. Не через компонент, а непосредственно через API Битрикс. Вариантов, где это может понадоб...
-
Валидация пароля и подтверждения при регистрации в битрикс
Встала задачка сделать валидацию пароля и его подтверждения в стандартной форме регистрации сайта под управлением Битрикс. Проверять будем с помощью j...