我需要在视图的所有部分(标题,顶部,侧边栏左侧,侧边栏右侧,页脚)内传播所有控制器$data
,因为我不知道执行此任务的正确方法,我将$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
?
你应该从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);
}
}
在你的控制器中
class Inicio extends MY_Controller{
public function __construct(){
parent::__construct();
}
public function index() {
$data['title'] = 'Your title';
$this->loader_page('forms', $data);
}
}
希望这可以帮助