Aller au contenu

Twig

phil/money-bundle

format_money

L'équivalent pour Money du format_currency de Twig :

{{ product.price|format_money }}          {# 1 234,50 $ in fr_CA, CA$1,234.50 in en #}
{{ product.price|format_money('en_CA') }} {# $1,234.50 #}
{{ null|format_money }}                   {# nothing #}
ArgumentValeur par défautSens
localecelle de la requêteLa locale du symbole, des séparateurs et du motif

Le filtre met en forme avec le motif monétaire d'ICU pour la locale, à la précision propre à la devise. Ses chiffres parviennent à ICU sous forme de nombre à virgule flottante, exact jusqu'à 2^53 unités mineures, soit environ 90 billions de dollars. Un formateur est construit par locale et conservé, pour 64 locales au plus, de sorte que les locales tirées des requêtes ne peuvent pas faire grossir la mémoire d'un worker qui vit d'une requête à l'autre ; les séparateurs que lit LocalizedDecimal pour les formulaires sont conservés de la même façon.

Avec format_currency

Une application qui utilise déjà twig/intl-extra peut mettre en forme un Money avec son filtre, à partir du décimal :

{{ product.price.toDecimal|format_currency(product.price.currency.code) }}

format_money épargne les deux lectures de propriété, et fonctionne sans twig/intl-extra.

schema.org

FonctionDonne
money_schema(money), price_schema(money)Un MonetaryAmount de schema.org ; le price et le priceCurrency d'un Offer ; ou null

Les données se composent en un document JSON-LD qu'affiche le gabarit :

<script type="application/ld+json">{{ data|json_encode(constant('JSON_UNESCAPED_SLASHES') b-or constant('JSON_UNESCAPED_UNICODE') b-or constant('JSON_HEX_TAG'))|raw }}</script>

JSON_HEX_TAG écrit < et > sous forme d'échappements, de sorte qu'aucune valeur ne peut fermer l'élément script.