Symfony 在细枝中显示货币符号
如何在细枝中显示货币符号?我保存了符号的数值,如下所示:Symfony 在细枝中显示货币符号,symfony,twig,currency,Symfony,Twig,Currency,如何在细枝中显示货币符号?我保存了符号的数值,如下所示: for EURO : € for DOLLAR: $ 当我渲染这些值时,&将转换为&和货币符号不显示。任何想法都将不胜感激。谢谢。要做好这项工作,您必须添加一个或一个名为“帮助器”的对象,以在您的细枝模板中呈现货币符号 要使用以下功能 {{ currency('en_US') }} 您必须添加一个,如下所示 xxx.twig.your_extension: class: XXX\You
for EURO : €
for DOLLAR: $
当我渲染这些值时,
&
将转换为&代码>和货币符号不显示。任何想法都将不胜感激。谢谢。要做好这项工作,您必须添加一个或一个名为“帮助器”的对象,以在您的细枝模板中呈现货币符号
要使用以下功能
{{ currency('en_US') }}
您必须添加一个,如下所示
xxx.twig.your_extension:
class: XXX\YourBundle\Twig\YourExtension
tags:
- { name: twig.extension }
然后,您需要添加一个货币
函数
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';
}
}
我想出来了。渲染时,我需要使用twig的过滤器。这是一个旧线程,但是对于新来的人来说,twig现在有了货币符号的扩展(使用新的过滤器|货币_符号),正如您在是中所看到的,通过使用原始过滤器,您的变量不会被转义。顺便说一句,我添加了一个更干净的解决方案,允许您呈现任何货币符号。您是否考虑过使用utf8字符而不是html实体?是的。实际上我已经考虑过了。只是我觉得这更容易。非常感谢你的想法。顺便说一下,我有点困惑。我应该使用什么语言环境作为欧元符号?然后您应该使用与欧元国家相关的语言环境(fr/it/…)作为参考,您也可以在以下位置找到答案: