我是CodeIgniter
的新手,我想知道加载页面的最佳方法是什么,而不需要像这样一直调用页眉和页脚视图
$this->load->view('header');
$this->load->view('something');
$this->load->view('footer');
例如我成功登录并被重定向到仪表板页面。
答案 0 :(得分:0)
为此,您需要有一个共同的功能/方法。
class My_Controller extends CI_Controller{
public function __construct() {
parent::__construct();
}
public function load_view($view_name,$data=Null){
$this->load->view('header');
$this->load->view($view_name,$data);
$this->load->view('footer');
}
}
现在使用My_Controller
扩展所有控制器(不使用CI_Controller)
如果要将任何数据传递给视图,请从控制器直接调用该函数以加载视图并传递$data
数组。
$this->load_view('test_view',$data);
如果您没有要发送到视图的任何内容,只需发送视图名称
$this->load_view('test_view');
希望对你有所帮助。
答案 1 :(得分:0)
为此,我使用像PHP这样的简单方法:
控制器:
class My_Controller extends CI_Controller{
public function __construct() {
parent::__construct();
}
public function load_view(){
$data=array();
$this->load->view('dashboard_view',$data);
}
public function get_data(){
$data['welcome_text']="Wooh ! I've a Something...";
$this->load->view('dashboard_view',$data);
}
}
查看dashboard_view.php
:
<html lang="en">
<body>
<?php include('header.php');?>
<h1>welcome to the dashboard </h1>
<?php include('footer.php');?>
</body>
</html>
注意: 在此,您不需要每次调用页眉和页脚只需更改控制器方法。
编辑功能的相同dashboard_view.php
:
<html lang="en">
<body>
<?php include('header.php');?>
<?php
// you can use here any checking method whether it is
// I'll use isset() method to check data is set or not
//if you don't use isset then it will give you an error when you call the load_view() method
echo (isset($welcome_text) ? $welcome_text : '');
?>
<?php include('footer.php');?>
</body>
</html>