Логика вывода промо-акций непонятна. Нужно сделать понятной


#1

Какую задачу или проблему я пытаюсь решить:
Использую Unitheme. Создаю промо-акции. Логично предположить, что выводиться на экране они будут по порядку создания. Но нет. По алфавиту? Тоже нет! По promotion_id? Нет, нет, нет!

Возможности изменить порядок вывода на экран отсутствует. Перетаскивания промо-акций нет. В результате они попадают в поток в хрен знает каком порядке.

А мне нужно, чтоб они попадали в порядке, который определю я сам.

Смотрите пример. Созданы четыре акции. Такой порядок меня пока устраивает:

Добавляю пятую акцию, наивно рассчитывая, что она будет следующей. Но вижу вот что:

Почему она не первая? Не последняя? ХЗ. Если смотреть по promotion_id порядок мог бы быть такой:

  1. Доставка СДЭК
  2. Каждый выходной
  3. Скидка за регистрацию
  4. Скидка для Азии
  5. Почта.

Каким я представляю решение проблемы:

Добавить к промо-акциям порядок вывода на экран. Даже без перетаскивания.

Если я чего-то не вижу, подскажите, куда рыть.


#2

Я так понимаю, вопрос возникает при использовании модуля “AB: Расширенные промо-акции”?
В модуле используется комплексная сортировка. Вначале разбиваем на текущие, ожидаемые и истёкшие. Далее каждую подгруппу сортируем по дате их окончания (те что заканчиваются раньше будут в списке выше, как “горящие предложения”). В ожидаемых выше идут те что начнутся раньше. В истёкших раньше идут те что завершились недавно. Далее уже идут в порядке создания (созданные позднее будут выше).

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

Совместить оба варианта одновременно не получится.


#3

Да, при использовании этого модуля.

В общем, теперь логика понятна, почему так выводятся промо.
Сначала — заканчивающаяся, далее четыре в обратной сортировке по promotion_id. Вот только не очень удобно менять promotion_id, потому что вручную придется четыре таблицы править. А можно хотя бы галку добавить, чтоб вся логика осталась прежней, но сортировку по promotion_id можно было переключать на прямую и обратную? Было бы уже хоть что-то.