PHP-循环中的胡须部分
我认为Mustache很棒,因为它允许使用partials,而且与Smarty相比,它也相对轻巧。我使用Mustache的想法是:定义一组组成UI库的部分。在这些部分中传递数据,并像在类固醇中使用html元素一样使用它们 分部代码的一个示例是列表元素(可视)。从标记的角度来看,该元素被定义为一个20行的HTML块。我想在循环中使用该部分,或者我可能想独立使用它 如果我想建立一个包含上述部分的列表,我会这样做:PHP-循环中的胡须部分,php,mustache,Php,Mustache,我认为Mustache很棒,因为它允许使用partials,而且与Smarty相比,它也相对轻巧。我使用Mustache的想法是:定义一组组成UI库的部分。在这些部分中传递数据,并像在类固醇中使用html元素一样使用它们 分部代码的一个示例是列表元素(可视)。从标记的角度来看,该元素被定义为一个20行的HTML块。我想在循环中使用该部分,或者我可能想独立使用它 如果我想建立一个包含上述部分的列表,我会这样做: {{#my_list_elems}} ... Maybe some HTML cod
{{#my_list_elems}}
... Maybe some HTML code
{{> my_partial
{{/my_list_elems}}
<div>
<ul>
{{#another_array}}
<li>{{name}}</li>
{{>#another_array}}
</ul>
</div>
{{> head}}
{{> header}}
<div>Some static HTML</div>
... More code
{{#some_array}}
{{> my_partial}}
{{/some_array}}
{{> footer}}
$template = $this->mustache->loadTemplate('template');
$partials['my_partial'] = $this->mustache->loadPartial('my_partial');
$data['my_partial_arr'] = $this->getPartialData();
echo $template->render($data, $partials);
假设我的部分看起来像这样:
{{#my_list_elems}}
... Maybe some HTML code
{{> my_partial
{{/my_list_elems}}
<div>
<ul>
{{#another_array}}
<li>{{name}}</li>
{{>#another_array}}
</ul>
</div>
{{> head}}
{{> header}}
<div>Some static HTML</div>
... More code
{{#some_array}}
{{> my_partial}}
{{/some_array}}
{{> footer}}
$template = $this->mustache->loadTemplate('template');
$partials['my_partial'] = $this->mustache->loadPartial('my_partial');
$data['my_partial_arr'] = $this->getPartialData();
echo $template->render($data, $partials);
请注意,PHP代码和部分示例并不意味着要一起工作,它们只是示例
问题是,是否支持此功能?如果是,我做错了什么?也许我的PHP数组没有正确的格式?我可以将数组/循环放在一个较低的级别,在分部中,但是当我想单独使用分部时(将数据包装在一个元素数组中以便呈现),这会让它看起来很难看。所以
{{{>head}
,{>header}
和{>footer}
分部工作,但是{>myu-partial}
不工作?您是使用文件系统部分加载程序,还是将部分作为字符串传递给Mustache构造函数
有两件事可能会吸引你:
<> > SUBACHE可能不认为您的数组(<代码> MySuthAlpLaARR )是“可重复的”。php wiki。您可以通过array\u values()
运行它们,以确保它们将被循环,而不是用作节上下文
loadPartial()
在您的Mustache实例上加载任何必要的部分是的,其他一切都很好,除了循环部分,我认为它是#1-只需要运行一个测试,然后会回来跟进。关于#2,你说得对,那有多傻?:)我使用的数组是由array_map()生成的,我错误地认为它会返回一个数组(读:不是散列)。我错了,我传递给array_map()的第二个参数跳过了一些索引,这是另一个lol,因为数组是array_unique()调用的结果。精神崩溃。谢谢你的帮助。