Задача -
стандартными функциями заставить
стандартную сортировку "по наименованию" сортировать как надо.
Примеры сложных вариантов наименований:
- ABC 10.10/10.10x10.10/10.10x10.10/10.110 ABC123 ABC123 ABC123
- ABC 111.10/11.10x110.10/10.10x10.10/10.10 ABC123 ABC123 ABC123
- ABC 111.111x1110.10x10.10 ABC123 ABC123 ABC123
1) PHP. Отдельная обрезка и преобразование каждого из чисел в формат при котором стандартная сортировка будет работать (10.10 => 0010.1000) - худший вариант, создаст лютую нагрузку на сервер из-за огромного кол-ва товаров. Хотя если это дело закешировать, то все не так уж плохо.
1.1) Обратный вариант преобразования из не читаемого в читаемый на фронте.
1.2) Подтянуть свойства товара, что не лучше преобразования наименования.
2) Задать альтернативное техническое наименование товара в бд для сортировки, вариант хороший, но упирается в обновление движка со всеми вытекающими (регулярное переписывание кода).
3) Создать отдельный "технический" язык и просто задать жесткую привязку сортировки к нему (минимальные регулярные правки кода после апдейта). Но мне неизвестно можно ли вообще делать технический язык и каких можно ждать подводных камней.
Подскажите какой вариант лучше?)