Расширение функционала сравнения товаров (интернет магазин "Современный")
Материал из Umicms
Версия от 09:03, 7 марта 2011; Kirill (обсуждение | вклад)
Если Вы используете интернет магазин "Соверменный" в качестве шаблона для своего сайта, то наверняка обратили внимание, что поля визивига и картинки не отображаются при сравнении.
Сам шаблон храниться здесь "/xsltTpls/modules/emarket/compare.xsl" и в нём есть заглушка такого вида:
<xsl:template match="field[@type = 'wysiwyg' or @type = 'img_file' or @type = 'symlink']" mode="compare" />
Чтобы отображались все поля, необходимо внешний вид заглушки привести к такому
<xsl:template match="field[@type = 'symlink']" mode="compare" />
и добавить эти два шаблона:
<!-- начало теста картинка -->
<xsl:template match="field[@type = 'img_file']" mode="compare" disable-output-escaping="yes">
<tr>
<td class="name">
<xsl:value-of select="@title" />
</td>
<xsl:apply-templates select="values/item" mode="compare2" />
</tr>
</xsl:template>
<xsl:template match="item" mode="compare2">
<td>
<a href="{@link}" class="image">
<xsl:call-template name="catalog-thumbnail">
<xsl:with-param name="element-id" select="@id" />
<xsl:with-param name="field-name">photo</xsl:with-param>
<xsl:with-param name="width">115</xsl:with-param>
<xsl:with-param name="height">90</xsl:with-param>
</xsl:call-template>
</a>
</td>
</xsl:template>
<!-- конец теста картинка-->
<!-- начало теста визивиг -->
<xsl:template match="field[@type = 'wysiwyg']" mode="compare" disable-output-escaping="yes">
<tr>
<td class="name">
<xsl:value-of select="@title" />
</td>
<xsl:apply-templates select="values/item" mode="compare3" disable-output-escaping="yes"/>
</tr>
</xsl:template>
<xsl:template match="item" mode="compare3">
<td>
<xsl:value-of select="value/value" disable-output-escaping="yes"/>
</td>
</xsl:template>
<!-- конец теста визивиг-->