在树枝中显示货币符号

时间:2013-04-23 14:39:08

标签: symfony twig currency

如何在树枝上显示货币符号?我保存了符号的数值,如:

for EURO : €
for DOLLAR: $

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

3 个答案:

答案 0 :(得分:7)

为了做得好,您需要添加functionfilter作为助手,以便在您的树枝模板中呈现货币符号。

要使用以下功能,

{{ 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';
    }
}

答案 1 :(得分:2)

我明白了。渲染时,我需要使用树枝的raw滤镜。

答案 2 :(得分:0)

这是一个古老的话题,但是对于来这里的新人们,Twig现在提供了货币符号的扩展名(带有新过滤器| currency_symbol),如您在documentation

中所见