Как фильтровать элементы каталога по службам доставки 1с Битрикс?

Возникла потребность фильтровать товары в каталоге по доступным службам доставки.
Например: Имеем товары А, Б, В, так вот А и Б доступны для самовывоза, так как они подходят под службу доставки "Самовывоз". А товар В доступен только в службе доставки "Доставка завтра". А если углубиться, то служб доставки у нас 4, а вот профилей доставки в этих службах, с разными ограничениями по времени, дням или складам около 25.
Соответственно было бы удобно фильтровать товары по отбору этих самых профилей доставки учитывая службу доставки. И видеть в фильтре что-то типа: Самовывоз через 15 мин; Самовывоз завтра; Доставка через 30 минут; Доставка в понедельник;
Как это лучше реализовать? Можно как-то использовать службы доставки и профили? Или писать правила в зависимости от склада и условий?
  • Вопрос задан
  • 22 просмотра
Пригласить эксперта
Ответы на вопрос 1
@koder_1
Битрикс программист
Стандартный умный фильтр в каталоге фильтрует только по свойствам товаров.
Соответственно, в товаре добавляете свойство Доставка, отмечаете у него галку Показывать в умном фильтре.

Дальше по крону или создаёте агент и заполняете это свойство в соответствии с Вашей логикой доставок.

https://qna.habr.com/q/1317378?ysclid=lsymytq11f49... - вот подобное обсуждали.

Через доставки и профили зайти проще, потому что при оформлении заказа Битрикс умеет определять какие доставки возможны для данного товара. Поэтому использование той же функции, что в оформлении заказа должно дать такой результат в фильтре, как в заказе.

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

Поэтому через доставки и профили будет предпочтительное решение.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы