我有价格和货币名称的JSON,如下所示:
[{"price": 123, "currency": "RUR"},
{"price": 456, "currency": "USD"},
{"price": 789, "currency": "EUR"}]
另外,我使用Mustache.php来渲染它们。 {{price}} {{currency}} 作为模板并得到: 123 RUR 456美元 789 EUR
但是,我想将“RUR”,“USD”,“EUR”替换为“俄罗斯卢布”,“美元”,“欧元”并获得
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")};
});
但 $ text等于“{{currency}}”。我不能使用 if 构造。如何将{{currency}}转换为value,或将其预先渲染以用于方程式?
答案 0 :(得分: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;
}
});