1
では動作しません:インド、USDなどを...小枝拡張は、私は別の通貨のフォーマットと同様の金額を示すために小枝拡張を作成しているsymfonyの2
Symfony2のガイドにより示唆されるように、次のように私はそれをやっています。
account.twig.extension.accounttwigextension:
class: AccountBundle\Extension\AccountTwigExtension
tags:
- { name: twig.extension }
私は小枝ファイルでこれを使用していた場合:: {{ 50000 | get_money_indian_format }}
私は次のようなエラーになっています: にフィルタget_money_indian_format
をんapp/config/services.yml
でそれを登録
NameSpace/AccountBundle/Extension/AccountExtension.php
namespace Edu\AccountBundle\Extension;
use Symfony\Component\HttpKernel\KernelInterface;
class AccountTwigExtension extends \Twig_Extension
{
public function getFilters()
{
return array(
'get_money_indian_format' => new \Twig_Filter_Method($this, 'get_money_indian_format'),
);
}
function get_money_indian_format($amount, $suffix = 1) {
setlocale(LC_MONETARY, 'en_IN');
if (ctype_digit($amount)) {
// is whole number
// if not required any numbers after decimal use this format
$amount = money_format('%!.0n', $amount);
} else {
// is not whole number
$amount = money_format('%!i', $amount);
}
if (!$suffix) {
return $amount;
} else {
return $amount;
}
return $amount;
}
public function getName()
{
return 'account_twig_extension';
}
}
EduAccountBundle:Ledger:showLedgers.html.twig
には存在しません
ありがとうございます。私はこの拡張子をJavaScriptファイルでどのように呼び出すことができますか教えてください。 Twigでそのように動作します:{{50000 | get_money_indian_format}}。私はどのようにすればいいのですか? –
できません。 Twigはサーバー側のテンプレートエンジンです。ページをレンダリングし、HTMLをブラウザに送信します。 JSライブラリでそのロジックを再コーディングする方がおそらく他のどのソリューションよりも速いでしょう。 –
ok、ありがとうFrancesco –