我正在尝试加载一个镜像,在该模板中是一个部分(嵌套模板)。 partials构造函数不应该呈现content
部分吗?逻辑错误了吗?
类似的问题here但实施是不同的,没有答案。这个问题似乎已经死亡或被引向了一些类似的问题,但我的实施也有所不同。
base.mustache:
<body>
{{>content}}
</body>
Mustache构造函数:
if(!isset($this->mustache)){
$options = array(
'loader'=> new Mustache_Loader_FilesystemLoader('path/to/templates/'),
'partials_loader' => new Mustache_Loader_FilesystemLoader('path/to/partials'),
'partials' => array(
'content'=> $this->module->tplFile
)
);
$this->mustache = new Mustache_Engine($options);
}
渲染模板:
public function display()
{
$this->mustache->render('base.mustache');
}
答案 0 :(得分:0)
首先,您甚至没有加载模板。
只需像这样编辑渲染模板部分:
public function display(){
$this->mustache->loadTemplate('base')->render();
}
您可能会问,为什么只是'base'而不是'base.mustache'。
好吧,小胡子默认情况下会加载.mustache
文件,因此,如果您使用$this->mustache->loadTemplate('foo')
,它将自动在您为文件加载器设置的路径下加载foo.mustache
文件。
有关更多信息,您可以从mustache.php的官方Wiki的Template Loading部分签入。
顺便说一句,我的英语太烂了,希望您能理解我的意思。