我使用的是mustache.php。假设我的胡子模板中有一个如下所示的HTML结构(这只是一个让你理解我的问题的例子):
<nav>
<div>
<div>
<a>{{object1.title}}</a>
</div>
<menu>
{{#object2.items}}
<li><a>{{title}}</a></li>
{{/object2.items}}
</menu>
</div>
</nav>这里我的问题是,模板应该使用的数据来自两个不同的来源(object1和object2)。
根据mustache.php wiki,我可以像这样加载一个模板:
<?php
$object1 = some_function_returns_a_json_object( 1 );
$mustache = new Mustache_Engine();
$my_template = $mustache->loadTemplate( 'my_template' ); // will fetch my_template.mustache
echo $my_template->render( $object1 ); // passes data from $object1 to my_template.mustache但是上面的html示例中的菜单项又如何呢?它们需要来自另一个对象,而我不能在同一个$object1中拥有它。
我还不知道如何处理一个模板(和部分)和来自多个来源的数据。
我应该把上面的HTML分成不同的部分吗?即便如此,我如何将json数据传递给嵌套的partials呢?
发布于 2014-07-19 19:24:22
哦,我想通了
我可以在这里将我的对象作为数组传递
echo $my_template->render( array( 'object1' => $object1, 'object2' => $object2 ) );它会工作的-在mustache.php文档中不是很清楚
我不确定这是否是最佳实践,但看起来也很适合在偏函数中使用
https://stackoverflow.com/questions/24839352
复制相似问题