How To: Вывод валюты с использованием Font Awesome

Часть браузеров и операционных систем не поддерживает новые расширенные версии Unicode (например, символ рубля, добавленный в версии Unicode 7.0). Решить проблему можно выводом валюты с использованием шрифта Font Awesome.

Добавьте в XSL-шаблон определение формата и шаблон currencycode:

    <xsl:decimal-format name="spaces" grouping-separator=" " />
    
    <!-- currencycode - шаблон вывода цен -->
    <xsl:template match="currencycode">
        <xsl:param name="value" />
        
        <xsl:variable name="spaced" select="format-number($value, '# ###', 'spaces')" />
        
        <xsl:choose>
            <xsl:when test=". = 'USD'">$<xsl:value-of select="$spaced"/></xsl:when>
            <xsl:when test=". = 'EUR'">€<xsl:value-of select="$spaced"/></xsl:when>
            <xsl:when test=". = 'GBP'">£<xsl:value-of select="$spaced"/></xsl:when>
            <xsl:when test=". = 'RUB'"><xsl:value-of select="$spaced"/><i class="fa fa-ruble"></i></xsl:when>
            <xsl:when test=". = 'AUD'">AU$<xsl:value-of select="$spaced"/></xsl:when>
            <xsl:when test=". = 'CNY'"><xsl:value-of select="$spaced"/>元</xsl:when>
            <xsl:when test=". = 'JPY'"><xsl:value-of select="$spaced"/>¥</xsl:when>
            <xsl:when test=". = 'KRW'"><xsl:value-of select="$spaced"/>₩</xsl:when>
            <xsl:when test=". = 'PHP'"><xsl:value-of select="$spaced"/>₱</xsl:when>
            <xsl:when test=". = 'THB'"><xsl:value-of select="$spaced"/>฿</xsl:when>
            <xsl:when test=". = 'BRL'">R$<xsl:value-of select="$spaced"/></xsl:when>
            <xsl:when test=". = 'INR'"><xsl:value-of select="$spaced"/><i class="fa fa-inr"></i></xsl:when>
            <xsl:when test=". = 'TRY'"><xsl:value-of select="$spaced"/><i class="fa fa-try"></i></xsl:when>
            <xsl:when test=". = 'ILS'"><xsl:value-of select="$spaced"/><i class="fa fa-ils"></i></xsl:when>
            <xsl:otherwise><xsl:value-of select="$spaced"/><xsl:value-of select="." /></xsl:otherwise>
        </xsl:choose>
    </xsl:template>

затем при выводе цены (в данном примере amount) и валюты (/shop/shop_currency/name) вместо:

<xsl:value-of select="amount"/><xsl:text> </xsl:text><xsl:value-of select="/shop/shop_currency/name"/>

используйте:

    <xsl:apply-templates select="/shop/shop_currency/currencycode">
        <xsl:with-param name="value" select="amount" />
    </xsl:apply-templates>

Не нашли ответ на свой вопрос в документации? Направьте обращение в службу поддержки или онлайн чат.