我有一个对象数组被设置为Mustache渲染函数:
require 'vendor/Mustache/Autoloader.php';
Mustache_Autoloader::register();
$m = new Mustache_Engine();
echo $m->render($template, $data);
$ data包含一个对象数组,如下所示:
(这是来自http://www.jsoneditoronline.org的屏幕截图,我已打开其中一个对象供您参考)
现在我的$ template代码中有这个:
{{#.}}
<article>
<h1>
<a href="layouts_post.html">{{name}}</a>
</h1>
<p>{{{text}}}</p>
<h2>{{jobtitle}}</h2>
</article>
{{/.}}
迭代不起作用,我想知道Mustache是否有办法迭代上面的对象数组。
(仅供参考 - 我尝试重建我的数据,但没有成功。每次Mustache都无法迭代。)
非常感谢您的帮助。
答案 0 :(得分:1)
好的,我把它解决了......
为了使Mustache具有包含变量,需要将其指定为render函数中的参数。为了实现这一点,我将$ data数组分配给了一个&#39;数据&#39;键:
require 'vendor/Mustache/Autoloader.php';
Mustache_Autoloader::register();
$m = new Mustache_Engine();
echo $m->render($template, array('data' => $data));
所以现在&#39;数据&#39;成为胡子模板中的主要变量:
{{#data}}
<article>
<h1>
<a href="layouts_post.html">{{name}}</a>
</h1>
<p>{{{text}}}</p>
<h2>{{jobtitle}}</h2>
</article>
{{/data}}
事实上,事实证明你可以在这个函数中分配一大堆数组,并在模板布局中使用它们:
require 'vendor/Mustache/Autoloader.php';
Mustache_Autoloader::register();
$m = new Mustache_Engine();
echo $m->render($template, array('data' => $data, 'anotherValue' => $someOtherData));
我觉得很明显......