在codeigniter中使用主模板

时间:2016-06-10 09:54:58

标签: codeigniter master-pages

我有两个控制器,两个视图和一个母版页:

仪表板控制器:

class Dashboard extends CI_Controller {

    public function index()
    {
      if($this->session->userdata('login') == true){
        $data['title'] = 'Dashboard';
        $data['content'] = 'pages/dashboard';
        $this->load->view('layout/master', $data);
    }
    else{
        redirect('auth');
    }
    }

客户控制员:

class Customers extends CI_Controller {

    public function index()
    {
            $data['content'] = 'pages/add_customer';
            $this->load->view('layout/master', $data);
    }

    public function add(){

            $data['content'] = 'pages/add_customer';
            $this->load->view('layout/master', $data);
    }
}

我的母版页:

<head>
    <meta charset="utf-8" />
    <title><?php echo isset($title)? $title: NULL; ?></title>
    <?php $this->load->view('layout/header'); ?>
</head>
<body>           
     <!-- BEGIN PAGE BASE CONTENT -->
         <?php $this->load->view($content);?>
     <!-- END PAGE BASE CONTENT -->       
</body>

问题是当我调用仪表板时,视图在模板中运行,一切都很好。当我打电话给客户时,一切都运行良好,模板就可以了。但是当我从客户控制器调用add方法时,它就像母版页不起作用而模板搞砸了。就像没有CSS或其他东西。 有什么问题? 在此先感谢:)

1 个答案:

答案 0 :(得分:1)

我个人不依赖本机CI功能来处理任何模板/视图。我使用Stencil,它不再是主动开发的,但是它在2上工作并且在3上工作。我修改了核心库文件来处理会话和配置变量,但这件事很美。它是我每个CI部署的核心。

Stencil on scotch.io via Github

这绝对不能回答你的问题,当然也应该因为这个原因而被拒绝投票或举报。但CI视图处理很尴尬,所以我从不认可使用它。我不知道为什么Stencil没有内置。