Вместо таблицы с фиксированным числом ячеек в строке используйте свойство float css.Объекты, которые вы плаваете, будут складываться на левой стороне контейнера, пока не заполнят его, затем заполнить следующий ряд и так далее.Регулируя ширину контейнера, вы контролируете количество элементов в строке.Например:
<div style="width:560px;">
{section name=index loop=$ArrGallery}
<img src="{$ArrGallery[index].gallery_path}" style="float:left;width:150px;height:100px;padding:7px;"/>
{/section}
</div>
Отрегулируйте ширину div, пока 7 строк не заполнят каждую строку (за исключением, возможно, последней строки).