Php 动态加载视图
我正试着用胡子做一个模板Php 动态加载视图,php,mustache,Php,Mustache,我正试着用胡子做一个模板 layout.mustache -- view/page1.mustache -- view/page2.mustache -- view/page3.mustache 我将加载程序设置为layout.mustache,将分区设置为view目录 在这之前一切都好 基于下面的层次结构,我尝试在主布局中加载一个视图,如下所示 $m->render('layout', array('page' => 'page1')); 在我的布局中,{{>page}不起作用
layout.mustache
-- view/page1.mustache
-- view/page2.mustache
-- view/page3.mustache
我将加载程序设置为layout.mustache,将分区设置为view目录
在这之前一切都好
基于下面的层次结构,我尝试在主布局中加载一个视图,如下所示
$m->render('layout', array('page' => 'page1'));
在我的布局中,{{>page}
不起作用。它正在返回“page1”它没有加载胡子文件
我是lesslogic模板的新用户,所以我需要您的帮助。。。也许我想做的是不可能的
感谢您将来的帮助。如果Mustach支持这样的事情,它看起来会像
{{>{{page}}}
,因为您所说的不是“加载页面模板”,而是“加载名为(页面变量值)的模板”。这是非常“逻辑”的一方,所以它不是胡子支持的东西
也就是说,你可以做你想做的事,你只需要有一点创造性:)
你可以用类似的东西劫持Mustach的partials加载程序
然后,您将使用它作为部分加载程序实例化Mustach:
$m = new Mustache_Engine(array(
'partials_loader' => FilesystemAliasLoader('path/to/views')
));
现在,在渲染之前,您需要为页面
部分设置一个别名:
$m->getPartialsLoader()->setTemplate('page', 'page1');
$m->render('layout', $data);
当Mustache到达
{{>page}}
partial时,它要求文件系统管理员加载“page”。它在别名中查找“page”,并确定您的意思是“page1”,然后加载视图/page1.mustache
。如果mustache支持这样的功能,它看起来就像{{{page}}}
,因为您所说的不是“加载页面模板”,而是“加载名为(页面变量值)的模板”。这是非常“逻辑”的一方,所以它不是胡子支持的东西
也就是说,你可以做你想做的事,你只需要有一点创造性:)
你可以用类似的东西劫持Mustach的partials加载程序
然后,您将使用它作为部分加载程序实例化Mustach:
$m = new Mustache_Engine(array(
'partials_loader' => FilesystemAliasLoader('path/to/views')
));
现在,在渲染之前,您需要为页面
部分设置一个别名:
$m->getPartialsLoader()->setTemplate('page', 'page1');
$m->render('layout', $data);
当Mustache到达{{>page}}
partial时,它要求文件系统管理员加载“page”。它在别名中查找“page”,并确定您的意思是“page1”,然后加载view/page1.mustache