-надо прописать до описание всех template такую консткурцию (скорее всего в файл /templates/demodizzy/xslt/default.xsl)
Вставил сразу после xsl:output...
- затем при выводе цены, например из узла actual (шаблон для вывода цены /templates/demodizzy/xslt/modules/emarket/price.xsl) указать преобразование
Содержимое price.xsl - раньше было так:
<xsl:template match="udata[@method = 'price']">
<xsl:apply-templates select="price" />
</xsl:template>
<xsl:template match="total-price">
<xsl:value-of select="concat(@prefix, ' ', actual, ' ', @suffix)" />
</xsl:template>
<xsl:template match="price" mode="discounted-price">
<xsl:value-of select="concat(@prefix, ' ', actual, ' ', @suffix)" />
</xsl:template>
<xsl:template match="price">
<xsl:value-of select="concat(@prefix, ' ', original, ' ', @suffix)" />
</xsl:template>
<xsl:template match="price[not(original) or original = '']">
<xsl:value-of select="concat(@prefix, ' ', actual, ' ', @suffix)" />
</xsl:template>
Сейчас содержимое сделал таким - работает:
<xsl:template match="udata[@method = 'price']">
<xsl:apply-templates select="price" />
</xsl:template>
<xsl:template match="total-price">
<xsl:value-of select="concat(@prefix, ' ')" />
<xsl:value-of select="format-number(actual, '# ###,##','price')" />
<xsl:value-of select="concat(' ', @suffix)" />
</xsl:template>
<xsl:template match="price" mode="discounted-price">
<xsl:value-of select="concat(@prefix, ' ')" />
<xsl:value-of select="format-number(actual, '# ###,##','price')" />
<xsl:value-of select="concat(' ', @suffix)" />
</xsl:template>
<xsl:template match="price">
<xsl:value-of select="concat(@prefix, ' ')" />
<xsl:value-of select="format-number(original, '# ###,##','price')" />
<xsl:value-of select="concat(' ', @suffix)" />
</xsl:template>
<xsl:template match="price[not(original) or original = '']">
<xsl:value-of select="concat(@prefix, ' ')" />
<xsl:value-of select="format-number(actual, '# ###,##','price')" />
<xsl:value-of select="concat(' ', @suffix)" />
</xsl:template>
1.
В корзине тоже всё работает, за исключением одного - при увеличении количества товаров (js) сумма меняется автоматически и формат сбрасывается.
Правильно ли я понимаю, что в basket.js надо вносить аналогичные правки, чтобы формат не менялся? Как это сделать?2.
В basket.xsl есть строка, которая тоже выводит сумму/цену без форматирования - код ниже, можете подсказать, как здесь применить форматирование?: <xsl:template match="summary[amount > 0]" mode="basket">
<span>
<xsl:apply-templates select="amount" />
</span>
<xsl:text> &basket-items-text; </xsl:text>
<xsl:apply-templates select="price/@prefix" />
<xsl:apply-templates select="price/actual" />
<xsl:apply-templates select="price/@suffix" />
</xsl:template>
3.
И надо ли в cart.xsl где-то вносить изменения, или там форматировать нечего?P.S. В правом верхнем углу сайта корзина тоже без форматирования, тоже вроде basket.js выводит туда информацию из корзины?
В basket.js как можно задать такой-же формат?