2013-03-12 104 views
1

鬍子變量的值,我已經JSON的價格和貨幣名稱,如:入住幫手

[{"price": 123, "currency": "RUR"}, 
{"price": 456, "currency": "USD"}, 
{"price": 789, "currency": "EUR"}] 

還有,我用Mustache.php使它們。 {{價格}} {{貨幣}} 爲模板,得到: 123 RUR 456美元 789歐元

但是,我想,以取代 「盧布」, 「美元」, 「歐元」 到「俄羅斯盧布」, 「美元」, 「歐元」,並得到

123 Russian rubles 
456 US dollars 
789 Euro 

我想,我可以使用助手

$mustache->addHelper('_curstyle', function($text) { 
if ($text == "RUR") {return ("Russian rubles")}; 
if ($text == "USD") {return ("US dollars")}; 
if ($text == "EUR") {return ("Euro")}; 
}); 

$文本等於 「{{貨幣}}」。我不能使用如果構造。如何將{{currency}}轉換爲值,或將其預渲染以用於公式?

回答

1

假設你正在使用Mustache.php V2.1,你可以使用一個可選的第二個參數傳遞給你的助手了LambdaHelper呈現原始塊體:

$mustache->addHelper('_curstyle', function($text, $mustache) { 
    switch($mustache->render($text)) { 
     case 'RUR': 
      return 'Russian rubles'; 
     case 'USD': 
      return 'US dollars'; 
     case 'EUR': 
      return 'Euro'; 
     default: 
      return $text; 
    } 
});