Dot All Lisbon – the official Craft CMS conference – is happening September 23 - 25.

Twig Filters

This can be used as a drop-in replacement for Craft’s |currency filter, but it offers additional parameters for control over formatting and conversion:

| Parameter | Type | Default | Required | Description | | ------------ | ------ | ------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | | currency | string | | yes | Valid, three-character ISO payment currency set up in CommerceStore SettingsPayment Currencies. | | convert | bool | false | no | Should the amount passed to this filter be converted to currency’s exchange rate? | | format | bool | true | no | Should the amount passed to this filter be formatted according to currency? (Typically adds currency symbol and thousands+decimal separators.) | | stripZeros | bool | false | no | Should trailing zeros (.00) be stripped from a formatted number? |

Examples:

{# `USD` #}
{% set baseCurrency = cart.currency %}

{# `AUD`, exchange rate 1.3 #}
{% set paymentCurrency = cart.paymentCurrency %}

{{ 10|commerceCurrency(baseCurrency) }} {# Output: $10.00 #}

{{ order.outstandingBalance|commerceCurrency(
  paymentCurrency,
  convert=true
) }} {# Output: A$13.00 #}

{{ order.outstandingBalance|commerceCurrency(
  paymentCurrency,
  convert=true,
  format=false
) }} {# Output: 13 #}

{{ order.outstandingBalance|commerceCurrency(
  paymentCurrency,
  convert=true,
  format=true
) }} {# Output: A$13.00 #}

{{ order.outstandingBalance|commerceCurrency(
  paymentCurrency,
  convert=true,
  format=true,
  stripZeros=true
) }} {# Output: A$13 #}

You might want to show the order’s price in all available payment currencies:

{% for currency in craft.commerce.paymentCurrencies %}
  Total in {{ currency.iso|upper }}: {{ cart.outstandingBalance|commerceCurrency(
    currency,
    convert=true
  ) }}<br>
{% endfor %}