我正在寻找一种简单的方法来始终显示相同的页眉和页脚,同时能够切换主要内容区域。我不确定如何使用 MVC 实现这一目标。

请您参考如下方法:

您可以创建主视图。

views/master.php

$this->load->view('header'); 
echo $content; 
$this->load->view('footer'); 

然后创建一个带有渲染主视图方法的基本 Controller 。 subview 的内容被加载并传递给主视图。

libraries/MY_Controller.php

class MY_Controller extends Controller 
{ 
    public function __construct() 
    { 
        parent::__construct(); 
    } 
 
    public function master_view($content_view, $data) 
    { 
        $data['content'] = $this->load->view($content_view, $data, true); 
        $this->load->view('master', $data); 
    } 
} 

然后扩展这个基本 Controller 并从您的操作方法中调用基本 Controller 的方法。

controllers/items.php

class Items extends MY_Controller 
{ 
    public function __construct() 
    { 
        parent::__construct(); 
    } 
 
    public function index() 
    { 
        $data['items'] = $this->item_model->get_items(); 
        $this->master_view('items/index', $data); 
    } 
} 

它往往比在每个 View 中加载页眉和页脚更枯燥。


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!