如何在视图的所有部分内传播$ data?

时间:2018-03-03 01:35:08

标签: codeigniter frameworks views codeigniter-3

我需要在视图的所有部分(标题,顶部,侧边栏左侧,侧边栏右侧,页脚)内传播所有控制器$data,因为我不知道执行此任务的正确方法,I& #39; m将$data发送到构建此视图的所有部分。

class MY_Loader extends CI_Loader {

    public function loader_page($views, $data = null){

        $this->view("incs/header",              $data);
        $this->view("incs/top",                 $data);
        $this->view("incs/sidebar-left",        $data);
        $this->view("incs/system_messages",     $data);
        $this->view($views,                     $data);
        $this->view("incs/sidebar-right",       $data);
        $this->view("incs/footer",              $data);
    }
}

有没有人知道执行此任务的正确方法,而不是在构建视图的所有部分中发送$data

enter image description here

1 个答案:

答案 0 :(得分:2)

你应该从Services延伸一下。

MY_Controller

中的

application/core/MY_Controller.php
控制器中的

class MY_Controller extends CI_Controller{

    public function loader_page($views, $data = []){

       $this->load->view("incs/header",              $data);
       $this->load->view("incs/top",                 $data);
       $this->load->view("incs/sidebar-left",        $data);
       $this->load->view("incs/system_messages",     $data);
       $this->load->view($views,                     $data);
       $this->load->view("incs/sidebar-right",       $data);
       $this->load->view("incs/footer",              $data);

    }

}

希望这会有所帮助