我正在制作一个简单的应用程序,我熟悉CodeIgniter 1.7.3,我没有任何问题,将子文件夹放入应用程序/视图文件夹。
我的问题是当我尝试加载视图时,我得到了遇到错误的标准CI错误消息:无法加载请求的文件:usercontentpages/testview.php
但是,如果我将视图文件移出子文件夹并将其放在应用程序/视图文件夹中,则加载视图命令可以正常工作?
我在用户指南中找不到任何文档说明为什么会这样?
这是我的控制器:
<?php
class Pages extends CI_Controller
{
//Controller Constructor
public function __construct()
{
parent::__construct();
}
//Home Page (Default)
public function index()
{
//Loading a Partial View
$mContent = $this->load->view('home', '', TRUE); //this works
//$mContent = $this->load->view('subfolder/home', '', TRUE); //this doesn't work
$data = array(
'mainContent' => $mContent,
);
//Passing the partial view to the master page
$this->load->view('usermasterpage', $data);
}
}
?>
这是我的主页:
<?php
//Doctype
echo doctype('html');
?>
<html>
<head>
<meta charset="utf-8">
</head>
<body onload="OnLoad()">
<div id="wrap">
<!-- Main Content Div -->
<div id="mainContent">
<?php
/* Every page will have a main content area */
if(isset($mainContent))
{
echo $mainContent;
}
?>
</div>
</div>
</body>
最后是我要加载的页面片段:
<p>Hi there</p>
CodeIgniter将成功地使用嵌套视图:我一直在使用嵌套视图,我知道其他人也这样做,而且它开箱即用。展示一些代码,让我们看看你做错了什么。
CodeIgniter文档明确地说可以
如果您喜欢这种组织方式,您的视图文件也可以存储在子文件夹中。这样做时,需要包含加载视图的文件夹名称。例子:
$this->load->view('folder_name/file_name');
http://codeigniter.com/user_guide/general/views.html