1. Распределите товар по группам,большое количество у вас в корне магазина.
2. В xsl шаблоне каталога нужно описать сам вывод групп. Пример из стандартных шаблонов:
<xsl:variable name="group" select="group"/>
<div class="category-list">
<xsl:apply-templates select=".//shop_group[parent_id=$group][position() mod $n = 1]"/>
</div>
<!-- Шаблон для групп товара -->
<xsl:template match="shop_group">
<div class="row">
<xsl:for-each select=". | following-sibling::shop_group[position() < $n]">
<div class="col-xs-12 col-md-4 text-align-center">
<div class="category">
<div class="category-image">
<a href="{url}">
<xsl:choose>
<xsl:when test="image_small != ''">
<img src="{dir}{image_small}"/>
</xsl:when>
<xsl:otherwise>
<img src="/images/default-image.png"/>
</xsl:otherwise>
</xsl:choose>
</a>
</div>
<a class="category-name" href="{url}" hostcms:id="{@id}" hostcms:field="name" hostcms:entity="shop_group"><xsl:value-of select="name"/></a>
</div>
</div>
</xsl:for-each>
</div>
</xsl:template>