当我将视图放在CI 2.0+中的子文件夹中时,为什么会出现错误?

时间:2011-07-14 01:12:29

标签: php codeigniter view load

我正在制作一个简单的应用程序,我熟悉CodeIgniter 1.7.3,我将子文件夹放入application / views文件夹时没有任何问题。

我的问题是当我尝试加载视图时,我得到了An Error Is Encountered的标准CI错误消息无法加载请求的文件:usercontentpages / testview.php

但是,如果我将视图文件移出子文件夹并将其放在application / views文件夹中,那么load view命令可以正常工作吗?

我在用户指南中找不到为什么会出现这种情况的任何文档?

这是我的控制器:

    <?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>

2 个答案:

答案 0 :(得分:1)

CodeIgniter将成功使用嵌套视图:我一直使用嵌套视图,并且我知道其他人也可以使用它,并且它开箱即用。显示一些代码,以便我们可以看到你做错了什么。

答案 1 :(得分:1)

CodeIgniter文档准确地说明了可以

  

如果您喜欢这种类型的组织,您的视图文件也可以存储在子文件夹中。执行此操作时,您需要包含加载视图的文件夹名称。例如:

$this->load->view('folder_name/file_name');

http://codeigniter.com/user_guide/general/views.html