我正在尝试定义替代/默认模板加载器路径,以防第一个找不到。
目前我用这种方式初始化胡须:
$m = new Mustache_Engine(array(
'loader' => new Mustache_Loader_FilesystemLoader($templates_path,array('extension'=>'.php'))
));
然后我渲染模板:
$m->render($my_template_path, $fields);
在同一个Mustache实例下多次调用render方法。这工作正常,但我不知道如何在不创建新的Mustache实例的情况下更新加载器路径。
我一直在阅读docs,但还没有让它发挥作用。我尝试过使用$ loader-> load()而不是渲染。这允许我改变路径,但它不会渲染变量。
答案 0 :(得分:0)
所以......我完全错过了CascadingLoader选项,它允许我设置多个加载器。我通过将代码更新为:
来获得加载的后备路径$m = new Mustache_Engine(array(
'loader'=> new Mustache_Loader_CascadingLoader(array(
new Mustache_Loader_FilesystemLoader($templates_path,array('extension'=>'.php')),
new Mustache_Loader_FilesystemLoader($alt_path,array('extension'=>'.php'))
))
));