模板读取到主模板从一个地方这是一个有点难以解释什么是我约的问题,但我要去尝试:)笨 - Smarty的 - 如何笨
在定制项目中我使用Smarty,我有一个index.php文件,其中放置了网址处理和内容的所有基本设置。
例如:
// Get information for the "about us" page
if($_GET['qs']=='about_us'){
$data['text'] = 'Lorem Ipsum...';
$data['other_stuff'] = 'dolor sit amet';
// Required template file
$data['tpl_Name'] = 'about.tpl';
}
在这个文件我有一点的代码,获取正确的模板结束其发送到master_site模板的底部。
例如:
if (isset($data['tpl_Name'])){
$this->smarty->assign('content', $this->smarty->fetch($data['tpl_Name']));
$this->smarty->view('master_site.tpl');
}
在master_site.tpl我可以用{$内容}访问about.tpl 此{$内容}变量将每一页改变,因为在index.php是通过在我的应用程序中请求页面将所有数据发送到的页面。
问题:在CodeIgniter中是否有一个文件可用于每个页面,所以我可以创建类似上面的东西?现在我必须在我的控制器的每个函数中使用这段代码(第二个例子),而且效率不高。
当然,我必须在每个函数中设置$ data ['tpl_Name'],但那没问题。
谢谢。
您是否考虑过扩展核心控制器? – 2013-03-13 22:16:05
我会这样做的方式是将所有页面信息移出到CSV文件(即sitemap.csv)。然后以constructor函数的数组形式加载csv文件。然后,您可以将所有页面请求路由到一个方法,根据uri动态设置模板(就像您已经这样做),还可以以同样的方式从sitemap.csv数组请求页面信息。 – Jeemusu 2013-03-14 02:35:07