我想使用自定义的load->视图,一旦创建,将为页面加载一组视图。它具有与$ this-> load-> view()相同的功能,但也可以预加载其他视图。我怎么写这个并让它工作?感谢
<?php
class MY_Loader extends CI_Loader
{
function __construct()
{
parent::__construct();
}
function admin_view($load_page, $vars=array())
{
$this->load->view('admin/header');
$this->load->view($load_page);
$this->load->view('admin/footer');
}
function members_view()
{
//same purpose as admin view
}
function public_view()
{
//same purpose as admin view
}
}
答案 0 :(得分:0)
这看起来是正确的,但您不需要致电$this->load
,因为您已经“进入”CI_Loader(通过您的扩展程序),所以您可能只是尝试:
function admin_view($load_page, $vars=array())
{
$this->view('admin/header');
$this->view($load_page);
$this->view('admin/footer');
}
这意味着您可以访问view
的{{1}}方法,因为您已将其扩展到您的班级。
答案 1 :(得分:0)
我以前在views / _include中有一个template.php,如下所示:
<?php
$this->load->view('_includes/header');
$this->load->view($view);
$this->load->view('_includes/footer');
所以我要加载的$视图是通过Controller传递的。例如:
class News extends MY_Controller {
public function index()
{
$data['view'] = 'admin/news/index';
$data['results'] = $this->news_model->get_all);
$this->load->view('admin/_includes/template', $data);
}