Для организации вывода групп в три столбца в коде XSL-шаблона "МагазинКаталогТоваровСайт15" вместо:
<!-- Отображение подгрупп данной группы, только если подгруппы есть и не идет фильтра по меткам -->
<xsl:if test="count(selected_tags/tag) = 0 and count(//group[@parent=$parent_group_id]) > 0">
<table width="100%" border="0" cellpadding="3" cellspacing="0">
<tr>
<td valign="top" align="center">
<xsl:apply-templates select="//group[@parent=$parent_group_id]"/>
</td>
</tr>
</table>
</xsl:if>
используйте:
<!-- Отображение подгрупп данной группы, только если подгруппы есть и не идет фильтра по меткам -->
<xsl:if test="count(selected_tags/tag) = 0 and count(//group[@parent=$parent_group_id]) > 0">
<table width="100%" border="0" cellpadding="3" cellspacing="0">
<tr>
<xsl:apply-templates select="//group[@parent=$parent_group_id]"/>
</tr>
</table>
</xsl:if>
вместо:
<!-- Шаблон для групп товара -->
<xsl:template match="group">
<xsl:variable name="parent_id" select="@parent"/>
<div class="group_good_block">
<xsl:if test="small_image != ''">
<a href="{/shop/path}{fullpath}"><img src="{small_image}" border="0" style="margin-top: 5%; margin-bottom: 3px;" /></a><br />
</xsl:if>
<div class="index_item_title">
<a href="{/shop/path}{fullpath}" style="font-weight: bold">
<xsl:value-of disable-output-escaping="yes" select="name"/>
</a> <span class="group_count_goods">(<xsl:value-of select="count_all_items"/>)</span>
</div>
<!--
<br/>
<xsl:value-of disable-output-escaping="yes" select="description"/>
-->
<xsl:if test="count(group) > 1">
<xsl:apply-templates select="group" mode="sub_group"/>
</xsl:if>
</div>
<!--<xsl:if test="position()= round(count(//group[@parent = $parent_id]) div 3)">-->
<xsl:if test="position() mod 3 = 0">
<xsl:text disable-output-escaping="yes">
</td>
<td valign="top" width="33%" align="center">
</xsl:text>
</xsl:if>
</xsl:template>
используйте:
<!-- Шаблон для групп товара -->
<xsl:template match="group">
<xsl:variable name="parent_id" select="@parent"/>
<td valign="top" align="center">
<div class="group_good_block">
<xsl:if test="small_image != ''">
<a href="{/shop/path}{fullpath}"><img src="{small_image}" border="0" style="margin-top: 5%; margin-bottom: 3px;" /></a><br />
</xsl:if>
<div class="index_item_title">
<a href="{/shop/path}{fullpath}" style="font-weight: bold">
<xsl:value-of disable-output-escaping="yes" select="name"/>
</a> <span class="group_count_goods">(<xsl:value-of select="count_all_items"/>)</span>
</div>
<!--
<br/>
<xsl:value-of disable-output-escaping="yes" select="description"/>
-->
<xsl:if test="count(group) > 1">
<xsl:apply-templates select="group" mode="sub_group"/>
</xsl:if>
</div>
</td>
<!--<xsl:if test="position()= round(count(//group[@parent = $parent_id]) div 3)">-->
<xsl:if test="position() mod 3 = 0">
<xsl:text disable-output-escaping="yes">
</tr>
<tr>
</xsl:text>
</xsl:if>
</xsl:template>