使用外部模板渲染Moustache块

时间:2014-12-12 15:35:51

标签: mustache mustache.php

我第一次使用 Mustache 2.7.0 并尝试使用阻止编译实时

基本上,我打电话给 basic.mustache

{{< layout }}
{{$ title}}{{page.meta.name}}{{/ title}}
{{/ layout }}

调用块 layout.mustache

<!DOCTYPE html>
<html>
    <head></head>
    <body>
        <h1>{{$ title}}test{{/ title}}</h1>
    </body>
</html>

我看到 page.meta.name 的值出现在页面上,而不是 layout.mustache 中写的标签。
任何人都知道为什么?

PHP

$mustache = new Mustache_Engine(array(
    'pragmas' => [Mustache_Engine::PRAGMA_BLOCKS],
    'loader' => new Mustache_Loader_FilesystemLoader('htdocs/templates'),
    'partials_loader' => new Mustache_Loader_FilesystemLoader('htdocs/templates/partials/')
));

$tpl = $mustache->loadTemplate('basic');
echo $tpl->render( $this );

1 个答案:

答案 0 :(得分:5)

似乎partials_loader 不兼容Pragma blocks

删除此行:

'partials_loader' => new Mustache_Loader_FilesystemLoader('htdocs/templates/partials/')

解决了我的问题。