Логика работы правил сортировки

Правила сортировки - это наборы условий, по которым плагин будет производить упорядочивание товаров на витрине. Условия в каждом правиле представлены в виде списка, при этом, чем выше условие в списке, тем оно важнее. Для каждого условия задается то, как будут сортироваться товары - по возрастанию или убыванию.

Как работают правила сортировки

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

Есть 4 товара, для которых заданы значения двух флагов ("Это шар" и "Это большое"):

  • Большой шар;
  • Маленький шар;
  • Большой куб;
  • Маленький куб.

Наша цель - сделать так, чтобы в категории сначала показывались кубы, а потом шары. Внутри кубов и шаров мы хотим, чтобы начала показывались большие, а потом - маленькие. Создадим вот такое правило:

Оно сработает так:

1) На первом шаге плагин применит условие "сортировать по флагу "Это шар" по убыванию", то есть, сначала поставит не шары (то есть, кубы), а потом шары, и получится вот такая последовательность товаров:

  • Большой куб;
  • Маленький куб;
  • --------------------------------
  • Большой шар;
  • Маленький шар;

Мы поставили прочерк в середину не просто так. По сути, плагин разбил товары на две группы (кубы и шары) и установил их друг над другом.

2) На втором шаге плагин применит к результату первого шага правило "сортировать по флагу "Это большое" по убыванию", то есть, будет работать только внутри групп, полученных на предыдущем шаге, то есть, будет работать отдельно внутри кубов и шаров. Так как сортировка идет по возрастанию, то сначала будут показаны маленькие товары, а потом - большие.

  • Маленький куб;
  • Большой куб;
  • --------------------------------
  • Маленький шар;
  • Большой шар;

Готово, правило сработало!

Если подытожить кратко: чем важнее условие, тем выше оно должно находиться в списке. Вы можете задать сколько угодно условий, и они будут применены последовательно.

Не забывайте про пользовательскую сортировку

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

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

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