如何在Twig中格式化货币符号

时间:2014-10-20 12:27:21

标签: symfony twig

我需要什么

  • 我需要显示货币代码。

    like usd  : $.
    

    我使用过脚本

                    <script type="text/javascript">
                    var cod=new Array();
                    var sym=new Array();
                    cod[0]='ALL';sym[0]='&#76;&#101;&#107;';cod[1]='USD';sym[1]='&#36;';cod[2]='AFN';sym[2]='&#1547;';cod[3]='ARS ';sym[3]='&#36;';cod[4]='AWG';sym[4]='&#402;';cod[5]='AUD';sym[5]='&#36;';cod[6]='AZN';sym[6]='&#1084;&#1072;&#1085;';cod[7]='BSD;';sym[7]='&#36;';cod[8]='BBD';sym[8]='&#36;';cod[9]='BYR';sym[9]='&#112;&#46;';cod[10]='BEF';sym[10]='&#8355;';cod[11]='BZD';sym[11]='&#66;&#90;&#36;';cod[12]='BMD';sym[12]='&#36;';cod[13]='BOB';sym[13]='&#36;&#98;';cod[14]='BAM';sym[14]='&#75;&#77;';cod[15]='BWP ';sym[15]='&#80;';cod[16]='BGN';sym[16]='&#1083;&#1074;';cod[17]='BRL';sym[17]='&#82;&#36;';cod[18]='BRC';sym[18]='&#8354;';cod[19]='GBP';sym[19]='&#163;';cod[20]='BND';sym[20]='&#36;';cod[21]='KHR';sym[21]='&#6107;';cod[22]='CAD ';sym[22]='&#36;';cod[23]='KYD';sym[23]='&#36;';cod[24]='CLP';sym[24]='&#36;';cod[25]='CNY';sym[25]='&#20803;';cod[26]='COP ';sym[26]='&#36;';cod[27]='CRC ';sym[27]='&#8353;';cod[28]='HRK';sym[28]='&#107;&#110;';cod[29]='CUP';sym[29]='&#8369;';cod[30]='CYP';sym[30]='&#163;';cod[31]='CZK ';sym[31]='&#75;&#269;';cod[32]='DKK ';sym[32]='&#107;&#114;';cod[33]='DOP';sym[33]='&#82;&#68;&#36;';cod[34]='XCD ';sym[34]='&#36;';cod[35]='EGP';sym[35]='&#163;';cod[36]='SVC ';sym[36]='&#36;';cod[37]='GBP ';sym[37]='&#163;';cod[38]='EEK';sym[38]='&#107;&#114;';cod[39]='EUR';sym[39]='&#8364;';cod[40]='XEU ';sym[40]='&#8352;';cod[41]='FKP';sym[41]='&#163;';cod[42]='FJD';sym[42]='&#36;';cod[43]='FRF';sym[43]='&#8355;';cod[44]='GHC';sym[44]='&#162;';cod[45]='GIP ';sym[45]='&#163;';cod[46]='GRD ';sym[46]='&#8367;';cod[47]='GTQ';sym[47]='&#81;';cod[48]='GGP';sym[48]='&#163;';cod[49]='GYD';sym[49]='&#36;';cod[50]='NLG ';sym[50]='&#402;';cod[51]='HNL';sym[51]='&#76;';cod[52]='HKD';sym[52]='&#72;&#75;&#36;';cod[53]='HKD ';sym[53]='&#22291;';cod[54]='HKD ';sym[54]='&#22291;';cod[55]='HKD ';sym[55]='&#20803;';cod[56]='HUF';sym[56]='&#70;&#116;';cod[57]='ISK';sym[57]='&#107;&#114;';cod[58]='INR ';sym[58]='Rs';cod[59]='IDR ';sym[59]='&#82;&#112;';cod[60]='IRR';sym[60]='&#65020;';cod[61]='IEP ';sym[61]='&#163;';cod[62]='IMP';sym[62]='&#163;';cod[63]='ILS';sym[63]='&#8362;';cod[64]='ITL';sym[64]='&#8356;';cod[65]='JMD';sym[65]='&#74;&#36;';cod[66]='JPY ';sym[66]='&#165;';cod[67]='JEP ';sym[67]='&#163;';cod[68]='KZT ';sym[68]='&#1083;&#1074;';cod[69]='KPW ';sym[69]='&#8361;';cod[70]='KRW ';sym[70]='&#8361;';cod[71]='KGS ';sym[71]='&#1083;&#1074;';cod[72]='LAK ';sym[72]='&#8365;';cod[73]='LVL ';sym[73]='&#76;&#115;';cod[74]='LBP ';sym[74]='&#163;';cod[75]='LRD ';sym[75]='&#36;';cod[76]='CHF ';sym[76]='&#67;&#72;&#70;';cod[77]='LTL ';sym[77]='&#76;&#116;';cod[78]='LUF ';sym[78]='&#8355;';cod[79]='MKD ';sym[79]='&#1076;&#1077;&#1085;';cod[80]='MYR ';sym[80]='&#82;&#77;';cod[81]='MTL ';sym[81]='&#76;&#109;';cod[82]='MUR ';sym[82]='&#8360;';cod[83]='MXN ';sym[83]='&#36;';cod[84]='MNT ';sym[84]='&#8366;';cod[85]='MZN ';sym[85]='&#77;&#84;';cod[86]='NAD ';sym[86]='&#36;';cod[87]='NPR ';sym[87]='&#8360;';cod[88]='ANG ';sym[88]='&#402;';cod[89]='NLG ';sym[89]='&#402;';cod[90]='NZD ';sym[90]='&#36;';cod[91]='NIO ';sym[91]='&#67;&#36;';cod[92]='NGN ';sym[92]='&#8358;';cod[93]='KPW ';sym[93]='&#8361;';cod[94]='NOK ';sym[94]='&#107;&#114;';cod[95]='OMR ';sym[95]='&#65020;';cod[96]='PKR ';sym[96]='&#8360;';cod[97]='PAB ';sym[97]='&#66;&#47;&#46;';cod[98]='PYG ';sym[98]='&#71;&#115;';cod[99]='PEN ';sym[99]='&#83;&#47;&#46;';cod[100]='PHP ';sym[100]='&#80;&#104;&#112;';cod[101]='PLN ';sym[101]='&#122;&#322;';cod[102]='QAR ';sym[102]='&#65020;';cod[103]='RON ';sym[103]='&#108;&#101;&#105;';cod[104]='RUB ';sym[104]='&#1088;&#1091;&#1073;';cod[105]='SHP ';sym[105]='&#163;';cod[106]='SAR ';sym[106]='&#65020;';cod[107]='RSD ';sym[107]='&#1044;&#1080;&#1085;&#46;';cod[108]='SCR ';sym[108]='&#8360;';cod[109]='SGD ';sym[109]='&#36;';cod[110]='SKK ';sym[110]='&#83;&#73;&#84;';cod[111]='EUR ';sym[111]='&#8364;';cod[112]='SBD ';sym[112]='&#36;';cod[113]='SOS ';sym[113]='&#83;';cod[114]='ZAR ';sym[114]='&#82;';cod[115]='KRW ';sym[115]='&#8361;';cod[116]='ESP ';sym[116]='&#8359;';cod[117]='LKR ';sym[117]='&#8360;';cod[118]='SEK ';sym[118]='&#107;&#114;';cod[119]='CHF ';sym[119]='&#67;&#72;&#70;';cod[120]='SRD ';sym[120]='&#36;';cod[121]='SYP ';sym[121]='&#163;';cod[122]='TWD ';sym[122]='&#78;&#84;&#36;';cod[123]='THB';sym[123]='&#3647;';cod[124]='TTD';sym[124]='&#84;&#84;&#36;';cod[125]='TRY';sym[125]='&#89;&#84;&#76;';cod[126]='TRL';sym[126]='&#8356;';cod[127]='TVD ';sym[127]='&#36;';cod[128]='UAH ';sym[128]='&#8372;';cod[129]='GBP ';sym[129]='&#163;';cod[130]='USD ';sym[130]='&#36;';cod[131]='UYU ';sym[131]='&#36;&#85;';cod[132]='UZS ';sym[132]='&#1083;&#1074;';cod[133]='VAL ';sym[133]='&#8356;';cod[134]='VEB ';sym[134]='&#66;&#115;';cod[135]='VND ';sym[135]='&#8363;';cod[136]='YER ';sym[136]='&#65020;';cod[137]='ZWD ';sym[137]='&#90;&#3;';
                    function list(index)
                    {
                                var con=document.getElementById('sym');
                                if(index==-1)
                                {
                                con.innerHTML="";
                                return;
                                }
                                con.innerHTML=sym[index];
                    }
                    </script>
    
                    <script type="text/javascript">
                    count=cod.length;
                    for(i=0;i<count;i++)
                    document.write("<option value="+i+">"+cod[i]+"</option>");
                    </script>
                    </select>
    

Twig代码

                                {% set currency= '' %}
                                {% for key,value in temp %}
                                {% set currency= value %}
                  <td width="12%"   id ="cod" class="aligncenter">{{ value.amount }}<p class=sym>{{ currency}}</p> </td>
  • 我需要20美元。
  • 我需要通过java脚本转换货币转换。
  • 我已经尝试了,但它没有在树枝文件中徘徊。

2 个答案:

答案 0 :(得分:0)

如果您有货币代码列表,您可以浏览它们并致电:

    public function getCurrenciesAction()
{
    $currencies = array('EUR', 'USD'); //here you need to retrieve your currencies list
    $symbols = array();
    foreach ($currencies as $currency) {
        $symbols[$currency] = $symbol = Intl::getCurrencyBundle()->getCurrencySymbol($currency);
    }
    return new JsonResponse($symbols);
}

然后,您可以从整个列表生成JSON数组,并通过AJAX请求在JavaScript中检索它。

答案 1 :(得分:-1)

“document.getElementById('sym');”存在问题,因为没有任何“sym”元素

更改:

<p class=sym>

<p id="sym">