如何动态更改胡须模板数据

时间:2012-07-13 05:23:52

标签: php templates helper mustache

我刚开始使用Mustache模板引擎。我目前正在使用它的PHP实现(https://github.com/bobthecow/mustache.php/wiki)。我正在使用帮助程序来操纵数据的呈现方式。

$data = array("name" => "abhilash");
$template = "Hello {{name}}, {{#bold}}Welcome{{/bold}}";

$m =  new Mustache_Engine(array(
  "helpers" => array(
    "bold" => function($content) {
      return "<b>$content</b>";
    })));
$html = $m->render($template, $data);

借助于此,我可以使用粗体字体渲染“欢迎”。我想知道是否可以在辅助函数的帮助下操作$data。例如,如果模板如下所示,并且我有一个注册为dataSource的帮助函数,我想用它从datasource_func_name()收集一些数据(比如键值对)并将其追加到{ {1}}。

{{#dataSource}}datasource_func_name{{/dataSource}}
Hi {{name}}

1 个答案:

答案 0 :(得分:1)

这通常不是你如何使用助手。但是,Mustache基本上期望一个数据源,为什么不直接注入呢?

$html = $m->render($template, $dataSource);