在常用的框架本身都已经做好了分层和目录结构,但这在很多时候不满足项目的需求甚至在某些情况下变得不合理,因此很多时候需要自定义目录结构,在此就看看如果在CodeIgniter框架中自定义模板目录:
- 在CodeIgniter框架的入口文件就有一个配置项:
/* *--------------------------------------------------------------- * VIEW DIRECTORY NAME *--------------------------------------------------------------- * * If you want to move the view directory out of the application * directory, set the path to it here. The directory can be renamed * and relocated anywhere on your server. If blank, it will default * to the standard location inside your application directory. * If you do move this, use an absolute (full) server path. * * NO TRAILING SLASH! */ $view_folder = '';
- 在上面的注释可以得知,想要配置模板目录就是在这里$view_folder = '';配置了,而且要留意最后一句注释,要使用的是服务器的绝对路径,尽管在wamp的环境下使用相对路径也可以,也就是说比如:$view_folder = __DIR__ . DIRECTORY_SEPARATOR . 'template';跟$view_folder = 'template';效果是一样的,并不会报错;但是为了保险起见,还是填写绝对路径比较妥当。
- 配置好了,访问一下,发现一大堆错误
- 从报错的信息来看,明显是缺少了文件,对比一下框架自定义的模板目录,果然少了errors这个目录,好办,直接复制粘贴,然后在访问
- 还是报错,这次的报错很直接了,没有这个模板文件,原因就是CodeIgniter框架默认的控制器就是Welcome,而对应的index方法加载了welcome_message.php模板文件$this->load->view('welcome_message');但这个文件在新的模板目录没有,所以报错,这好办,直接复制粘贴,搞定!!!