Модификации и доп. свойства
Как сделать, что бы в карточке товара выводились таблицей модификации + их доп свойства.
Так как я новичок, пытался ковыряться сам.
....
<!-- Модификации -->
<xsl:if test="count(modifications/item) > 0">
<div class="modification">
<h2 class="titlemodif">Модификации:</h2>
<table cellspacing="3" cellpadding="3" class="modif" valign="middle">
<tr>
<td>Модель</td>
<xsl:apply-templates select="/shop/item/modifications/item/property"><xsl:with-param name="my_show">0</xsl:with-param></xsl:apply-templates>
<td>Цена</td>
<td></td>
</tr>
<xsl:apply-templates select="modifications/item"/>
</table>
</div>
</xsl:if>
....
<!-- Шаблон для модификаций -->
<xsl:template match="modifications/item">
<tr>
<td><xsl:value-of disable-output-escaping="yes" select="name"/></td>
<xsl:apply-templates select="property"><xsl:with-param name="my_show">1</xsl:with-param></xsl:apply-templates>
<td><xsl:value-of disable-output-escaping="yes" select="price_discount"/>  <xsl:value-of disable-output-escaping="yes" select="currency"/></td>
<td><a href="{/shop/path}cart/?action=add&item_id={@id}" onclick="return AddIntoCart('{/shop/path}',{@id}, 1)"><img src="/img/cartmod.png"/></a></td>
</tr>
</xsl:template>
<xsl:template match="modifications/item/property">
<xsl:param name="my_show">0</xsl:param>
<xsl:if test="$my_show = 0">
<xsl:choose>
<xsl:when test="value != ''">
<td id="prop"><xsl:value-of disable-output-escaping="yes" select="name"/></td>
</xsl:when>
<xsl:otherwise>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
<xsl:if test="$my_show = 1">
<xsl:choose>
<xsl:when test="value != ''">
<td><xsl:value-of select="value"/></td>
</xsl:when>
<xsl:otherwise>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
</xsl:template>
Все так, как мне надо, единственно заголовки названия Доп. свойств почему то выводятся в том же количестве, сколько и модификаций, а мне нужно один раз.
Так как я новичок, пытался ковыряться сам.
....
<!-- Модификации -->
<xsl:if test="count(modifications/item) > 0">
<div class="modification">
<h2 class="titlemodif">Модификации:</h2>
<table cellspacing="3" cellpadding="3" class="modif" valign="middle">
<tr>
<td>Модель</td>
<xsl:apply-templates select="/shop/item/modifications/item/property"><xsl:with-param name="my_show">0</xsl:with-param></xsl:apply-templates>
<td>Цена</td>
<td></td>
</tr>
<xsl:apply-templates select="modifications/item"/>
</table>
</div>
</xsl:if>
....
<!-- Шаблон для модификаций -->
<xsl:template match="modifications/item">
<tr>
<td><xsl:value-of disable-output-escaping="yes" select="name"/></td>
<xsl:apply-templates select="property"><xsl:with-param name="my_show">1</xsl:with-param></xsl:apply-templates>
<td><xsl:value-of disable-output-escaping="yes" select="price_discount"/>  <xsl:value-of disable-output-escaping="yes" select="currency"/></td>
<td><a href="{/shop/path}cart/?action=add&item_id={@id}" onclick="return AddIntoCart('{/shop/path}',{@id}, 1)"><img src="/img/cartmod.png"/></a></td>
</tr>
</xsl:template>
<xsl:template match="modifications/item/property">
<xsl:param name="my_show">0</xsl:param>
<xsl:if test="$my_show = 0">
<xsl:choose>
<xsl:when test="value != ''">
<td id="prop"><xsl:value-of disable-output-escaping="yes" select="name"/></td>
</xsl:when>
<xsl:otherwise>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
<xsl:if test="$my_show = 1">
<xsl:choose>
<xsl:when test="value != ''">
<td><xsl:value-of select="value"/></td>
</xsl:when>
<xsl:otherwise>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
</xsl:template>
Все так, как мне надо, единственно заголовки названия Доп. свойств почему то выводятся в том же количестве, сколько и модификаций, а мне нужно один раз.
sesen
Авторизация