Secret73, а что по вашему должен делать inline-block? И я бы Вам советовал вначале воссоздать html где-нибудь тут: https://jsfiddle.net/
Получить нужный результат, а потом реализовывать со smarty
Secret73, для начала нужно добавить класс для li.dropdown что бы как-то различать полный и пустой. Например li.dropdown.full и li.dropdown.empty Потом для класса пустых отменять обтекание, но не всем, а только кроме первого, это возможно через псевдоклассы htmlbook.ru/css/nth-of-type
Secret73, Ну так динамически им давать класс я же Вам код дал. Проверяете количество детей и даете тот или иной класс. Так же можно формировать при первом переборе 2-й массив, с пустыми, что бы вывести их рядом.