Категории и товары через:
Код:
{if $smarty.get.id_category}category{elseif $smarty.get.id_product}product{/if}
Подкатегории придется перебирать:
Код:
{assign var='sub' value=Category::getCategories(false, true, true, 'AND `level_depth` > 1')}
Могу модуль написать с загрузкой изображений (для категорий, товаров и под категорий). Пишите в ПМ (500р.)