Php 在单个函数中生成多个视图

Php 在单个函数中生成多个视图,php,function,codeigniter,Php,Function,Codeigniter,这是我的主控制器,我使用加载器函数作为通用函数并加载 菜单,标题和每个功能(索引,博客等)的页面,如果我想加载 两页纸我怎么做 我的意思是如果我想要$url=“index”和$url=“blog”,$url=“contact” 您可以通过更改$data的值来实现您的目标,即 $data['content']='contact' $this->load->view('template',$data); 然后在模板视图中执行此操作 $this->load->

这是我的主控制器,我使用加载器函数作为通用函数并加载 菜单,标题和每个功能(索引,博客等)的页面,如果我想加载 两页纸我怎么做

我的意思是如果我想要$url=“index”和$url=“blog”,$url=“contact”


您可以通过更改
$data
的值来实现您的目标,即

  $data['content']='contact'
  $this->load->view('template',$data); 
然后在模板视图中执行此操作

   $this->load->view($content);
或者你也可以这样做

 $url='contact'; //name of your view page here
 $this->load->view($url,$data); 

你可以用几种方法来做到这一点。在控制器中,您可以执行以下操作:

    //true returns the view content as a string
    $data['view1_html'] = $this->load->view('view1',$view1_data,true);
    //then load your master view as normal
    $this->load->view('master',$data);
或者在主视图中,您可以执行以下操作:

    <?=$this->load->view('view1');?>

很抱歉,不清楚你问了什么。我的意思是如果我想传递到$url=index和$url=blog这样的视图,我该怎么做?将
$url
设置为受保护的变量,这样就可以像
$this->url
那样访问它。很难给你一个正确的答案,因为你的主函数
view()
未包含在内,因此很难推断此类的工作方式。您的意思是希望能够使用上面的代码加载两个或多个视图,例如加载索引视图,然后加载博客视图(或类似的内容)?或者在另一个视图中加载一个视图?不,不应该,如果我这样做,它将每次加载,我应该只在特定的周期函数中加载。。谢谢
    <?=$this->load->view('view1');?>
    public function blog(){
    ....
    $this->loader('blog',$menu,$data);
    }