这是我如何创建自定义函数树枝
namespace Acme\DemoBundle\Twig;
class AcmeExtension extends \Twig_Extension
{
public function getFunctions() {
return array(
'currencySymbol' => new \Twig_Function_Method($this, 'currencySymbolFunction'),
);
}
public function currencySymbolFunction($locale) {
$locale = $locale == null ? \Locale::getDefault() : $locale;
$formatter = new \NumberFormatter($locale, \NumberFormatter::CURRENCY);
$symbol = $formatter->getSymbol(\NumberFormatter::CURRENCY_SYMBOL);
return $symbol;
}
public function getName() {
return 'acme_extension';
}
}
服务:
acme.twig.acme_extension:
class: Acme\DemoBundle\Twig\AcmeExtension
tags:
- { name: twig.extension }
因为我需要获得和传递的Symfony2 parameters.ini当前定义的区域设置成树枝功能,我定义了一个全球树枝值:
twig:
globals:
locale: %locale%
最后在树枝模板中:
{{ currencySymbol(locale) }}
枝条延伸会好吗? – Prisoner 2013-03-14 16:54:01
你是对的。我错过了嫩枝延伸食谱。谢谢 – ihsan 2013-03-15 11:45:13