2013-03-12 53 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; 
    } 
});