Какую задачу или проблему я пытаюсь решить:
Использую Unitheme. Создаю промо-акции. Логично предположить, что выводиться на экране они будут по порядку создания. Но нет. По алфавиту? Тоже нет! По promotion_id? Нет, нет, нет!
Возможности изменить порядок вывода на экран отсутствует. Перетаскивания промо-акций нет. В результате они попадают в поток в хрен знает каком порядке.
А мне нужно, чтоб они попадали в порядке, который определю я сам.
Смотрите пример. Созданы четыре акции. Такой порядок меня пока устраивает:
Я так понимаю, вопрос возникает при использовании модуля “AB: Расширенные промо-акции”?
В модуле используется комплексная сортировка. Вначале разбиваем на текущие, ожидаемые и истёкшие. Далее каждую подгруппу сортируем по дате их окончания (те что заканчиваются раньше будут в списке выше, как “горящие предложения”). В ожидаемых выше идут те что начнутся раньше. В истёкших раньше идут те что завершились недавно. Далее уже идут в порядке создания (созданные позднее будут выше).
Если будет много запросов, мы добавим настройку которая отключит вышеописанную логику и будет сортировать только по позиции, если нужна кастомная сортировка.
Совместить оба варианта одновременно не получится.
В общем, теперь логика понятна, почему так выводятся промо.
Сначала — заканчивающаяся, далее четыре в обратной сортировке по promotion_id. Вот только не очень удобно менять promotion_id, потому что вручную придется четыре таблицы править. А можно хотя бы галку добавить, чтоб вся логика осталась прежней, но сортировку по promotion_id можно было переключать на прямую и обратную? Было бы уже хоть что-то.
Возможно, кроме того, они будут выводиться на каждой странице пагинации. Но блок можно оформить как “Самые выгодные акции” и придать этому осмысленный вид.
Как видите, за 4 месяца Вы второй человек, который про это спрашивает. Эта доработка себя не оправдывает
На самом деле нас пятеро в этом закоулке форума)
Рассмотрите вариант сортировать по дате старта акции, а не окончания.
Самые свежие в начало списка.
Скорее всего это будет менее трудозатратная для вас доработка и всем так будет проще и понятнее.
В любом случае будут проблемы. Так как есть акции действующие, ожидаемые и закончившиеся. Каждая из этих промо-акций имеет или не имеет дату начала. То же самое с датой окончания.
Поэтому просто сортировки “по дате начала” быть не может. Нужно всё-равно продумать и разделение групп акций и поведение между акциями срочными и бессрочными внутри каждой группы…
Собственно, даже при наличии позиции легче не становится, так как изначально все акции будут иметь равную позицию и их опять же нужно каким-то образом упорядочивать. Пять лайков это очень малое количество. Для такого количества мы можем сделать доработку на платной основе, чтобы покрыть хотя бы часть затрат на невостребованный функционал.