Sergey750il, верно. но фишка в том, что когда вы загружаете изображение, вы должны в img дописывать информацию, которая нужна, чтобы правильно позиционировать изображение.
Как вариант, вы можете переложить частично это на js.
К примеру, ставите параметр для изображения data-ratio, с соотношением сторон. Если он уже записан в системе, то выводите как надо. Если его нет, то после загрузки изображения, формируете массив блоков соотношений и обновляете у себя.
еще два варианта придумал
1) кроппить на сервере к единому формату.
2) использовать обертку, и в нем через background-image использовать ваше изображение. тогда оно не будет зависеть от начального изображения.
balex777, я не считаю это костылем. у вас там даже если 50 категорий, это все нормально умещается на одной странице, и даже проще перерисовать как вам удобнее.
Относительно вашего вопроса -
вам нужна сортировка правильная, возможно использовать sql provider.
после это оформить колонку в зависимости от уровня.
Установите обработчик изображений пакетный любой.
И им предварительно сжимайте все. К php я бы вообще не относил бы задачу данную если вы все равно изображения готовите заранее.