Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php CodeIgniter$this有些错误->;负载->;看法_Php_Codeigniter - Fatal编程技术网

Php CodeIgniter$this有些错误->;负载->;看法

Php CodeIgniter$this有些错误->;负载->;看法,php,codeigniter,Php,Codeigniter,这就是我试图做的,标题和内容页,但我不知道为什么它不工作,如果我这样做的话 public function admin($page = "admin") { $data['title'] = "admin"; $data['menu'] = "admin"; $this->load->view('tpl/header_admin',$data); $this->load->view('admin/'.$page,$data);

这就是我试图做的,标题和内容页,但我不知道为什么它不工作,如果我这样做的话

public function admin($page = "admin")
{   

    $data['title'] = "admin";
    $data['menu'] = "admin";


    $this->load->view('tpl/header_admin',$data);
    $this->load->view('admin/'.$page,$data);

}

这一切都将工作,我可以看到管理或标题中的内容,但如果我把两个加载->查看放在一起,它将只显示$this->加载->查看('admin/'。$page,$data);标题就是不显示

这就是CI网站所说的应该做的:

public function admin($page = "admin")
{   

    $data['title'] = "admin";
    $data['menu'] = "admin";

    $this->load->view('admin/'.$page,$data);

}
我看不出有什么不同

顺便说一句:如果我访问/admin,标题将不会显示,但如果我访问/admin/list,它将显示

我第一次遇到这种情况,为什么?

试试这样

$this->load->view('templates/header', $data);
$this->load->view('pages/'.$page, $data);
$this->load->view('templates/footer', $data);

$data['header']=$this->load->view('tpl/header\u admin',$data,TRUE)
此语句将tpl/header\u admin.php的contains作为带有html标记的字符串。

函数$This->load->view() 将输出一个HTML标题。因此,您不能两次输出标题。
正确的方法是
控制器文件

if (isset($header))
{
    echo $header;
}
//Then other codes
查看文件admin/index.php

    public function admin($page = "admin")
    {   
        $data['title'] = "admin";
        $data['menu'] = "admin";
        $this->load->view('admin/index'.$page,$data);
    }

模板上下文。。。。。

这是使用模板文件片段的方式

public function view($page='home'){如果(!file_存在(APPPATH.'views/pages/'.$page.'.php'){//哎呀,我们没有这个页面!show_404();}$data['title']=ucfirst($page);//大写第一个字母$This->load->view('templates/header',$data);$this->load->view('pages/'。$page,$data);$this->load->view('templates/footer',$data);}这是CI说的……我也在做同样的事情……怎么不起作用了……$this->load->view('templates/header',$data);$this->load->view('pages/'。$page,$data);$this->load->view('templates/footer',$data);这是CI所说的..我看不出有什么不同,如果你在模板文件中使用Include,那将更灵活、更快。如果你想知道它为什么不起作用,请发布模板代码。
if (isset($header))
{
    echo $header;
}
//Then other codes
    public function admin($page = "admin")
    {   
        $data['title'] = "admin";
        $data['menu'] = "admin";
        $this->load->view('admin/index'.$page,$data);
    }
    <html>
    <?php include '../tpl/header_admin.php' ?>
    template context.....
    </html>