我想在控制器中获取相同的模板

时间:2014-11-17 15:42:32

标签: html codeigniter templates

my index controller this and showing good html and header and footer is working correct but when i want to add method the css and html not working .
    public function index()
   {
$data['clients_list'] = $this->clients_model->get_all_clients();
 $this->load->view('template/header');
$this->load->view('clients/index', $data);
$this->load->view('template/footer');
   }

这是我的添加方法,我想将html添加为页眉和页脚

  public function add()
     {
    $this->load->view('template/header');
    $this->load->view('clients/add');
    $this->load->view('template/footer');
    }

1 个答案:

答案 0 :(得分:0)

框架中不支持使用$ this-> load-> view()的方式。您应该只加载一个视图。如果要在单个视图中包含多个视图,则必须将它们保存在要在主视图中呈现的数据中,并在该视图中回显它们。要执行此操作,请使用codeigniter api中解释的视图函数的第三个参数:Very bottom of page

这方面的一个例子是:

控制器:

function index(){
    $data['clients_list'] = $this->clients_model->get_all_clients();
    $data['header'] = $this->load->view('template/header', $data, TRUE);
    $data['footer'] = $this->load->view('template/footer', $data, TRUE);
    $this->load->view('clients/index', $data);
}

查看:

<?php echo $header; ?>

<!-- YOUR INDEX PAGE CONTENT-->

<?php echo $footer; ?>

view()的第三个参数告诉框架预渲染视图并将内容输出为字符串值,允许您将变量和echo保存到主页面中。

Phil Sturgeon写了一个很棒的模板库,我在我的项目中使用了这个库,它允许一个webforms风格的“母版页”,你可以将其余的视图渲染到其中,这样你就不必构建你的标题每次/页脚视图并将其注入每个视图。 Phil Sturgeon Template Library