在树枝中显示货币符号

问题描述 投票:4回答:3

如何显示树枝中的货币符号?我将符号的数值保存为:

for EURO : €
for DOLLAR: $

当我渲染这些值时,&被转换为&,并且货币符号不显示。任何想法将不胜感激。谢谢。

symfony twig currency
3个回答
7
投票

要做得好,您必须添加一个function或一个filter,它被称为在树枝模板中呈现货币符号的助手。

要使用以下功能,

{{ currency('en_US') }}

您必须如下添加twig extension

xxx.twig.your_extension:
    class: XXX\YourBundle\Twig\YourExtension
    tags:
        - { name: twig.extension }

然后您要添加currency函数,

namespace XXX\YourBundle\Twig;

class YourExtension extends \Twig_Extension
{
    public function getFunctions() {
        return array(
            'currency' => new \Twig_Function_Method($this, 'currencyFunction'),
        );
    }

    public function currencyFunction($locale) {
        $formatter = new \NumberFormatter($locale, \NumberFormatter::CURRENCY);
        $symbol = $formatter->getSymbol(\NumberFormatter::CURRENCY_SYMBOL);

        return $symbol;
    }

    public function getName() {
        return 'your_extension';
    }
}

2
投票

我知道了。渲染时,我需要使用细枝的raw过滤器。


0
投票

[这是旧线程,但是对于来这里的新人们,Twig现在具有货币符号的扩展名(具有新的过滤器| currency_symbol,如您在documentation中所见]

© www.soinside.com 2019 - 2024. All rights reserved.