4

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

for EURO : €
for DOLLAR: $

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

4

3 回答 3

7

要做到这一点,您必须添加一个函数或过滤器,该函数或过滤器被称为帮助器,以在您的树枝模板中呈现货币符号。

要使用以下功能,

{{ currency('en_US') }}

您必须添加一个树枝扩展,如下所示,

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';
    }
}
于 2013-04-23T14:49:00.543 回答
2

我想到了。渲染的时候需要用到twig的raw filter。

于 2013-04-23T14:49:39.007 回答
1

这是一个旧线程,但对于来到这里的新人,Twig 现在有一个货币符号的扩展(带有新的过滤器 |currency_symbol ),如您在文档中所见

于 2019-11-08T22:52:22.997 回答