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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.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 如何使用$this_render->;将数据传递到视图;是否在codeigniter中查看(“pagename”,$renderData)?_Php_Codeigniter_View_Viewdata_Pass Data - Fatal编程技术网

Php 如何使用$this_render->;将数据传递到视图;是否在codeigniter中查看(“pagename”,$renderData)?

Php 如何使用$this_render->;将数据传递到视图;是否在codeigniter中查看(“pagename”,$renderData)?,php,codeigniter,view,viewdata,pass-data,Php,Codeigniter,View,Viewdata,Pass Data,这是我的密码 public function usertype($renderData='') { $this->grocery_crud->set_table('usertype'); $output = $this->grocery_crud->render(); $this->_example_output($output,$renderData=''); } func

这是我的密码

public function usertype($renderData='')
    {
        $this->grocery_crud->set_table('usertype');
        $output = $this->grocery_crud->render();

        $this->_example_output($output,$renderData='');        
    }

    function _example_output($output = null,$renderData='')

    {

      // $this->load->view('pages/our_template',$output);

       //echo $output;
      // $this->output=$output;
        $this->_render('pages/our_template',$renderData);      
    }
我想使用$this->_render('pages/our_template',$renderData);而不是$this->load->view('pages/our_template',$output);但是我需要将$output传递到视图页面。请帮助我找到一种方法,使用$renderData将$output传递到我的视图页面

在我的查看页面中,我想获取数据 像


您好,您可以这样处理视图吗

$output = $this->load->view('pages/our_template',$data,TRUE); // this will return view output to variable
echo $output
class MY_Controller extends CI_Controller{

        function __construct(){
               parent::__construct();
            }

            function _render($view = '', $data = array(), $return = FALSE){


              if($return){
                  return  $this->load->view($view,$data,$return);
              }    

             $this->load->view($view,$data);

            }

}
编辑的新答案

首先,很抱歉回答错了

如果要使用$this->\u render方法,则必须利用OOP在application/core目录下创建一个MY\u控制器,并在其中添加\u render方法,使用MY\u控制器扩展所有控制器,如下所示

$output = $this->load->view('pages/our_template',$data,TRUE); // this will return view output to variable
echo $output
class MY_Controller extends CI_Controller{

        function __construct(){
               parent::__construct();
            }

            function _render($view = '', $data = array(), $return = FALSE){


              if($return){
                  return  $this->load->view($view,$data,$return);
              }    

             $this->load->view($view,$data);

            }

}
页面控制器示例

class PageController extends MY_Controller{

  function __construct(){
      parent::__construct();
  }   

  function index(){
      $data['title'] = 'Page title';
      $data['body'] = 'Page body';
      $this->_render('page_view',$data);
  }

}
若你们正在为你们的项目使用一个有页眉、页脚和侧边栏的布局,那个么你们可以使渲染方法稍微提前一点

function _render($view = '', $data = array(), $return = FALSE){

$output = $this->load->view($view,$data,TRUE);

if($return){
  return  $output;
}

$layout_data['header'] = $this->load->view('header_view',$data,TRUE);
$layout_data['footer'] = $this->load->view('footer_view',$data,TRUE);
$layout_data['sidebar'] = $this->load->view('sidebar_view',$data,TRUE);
$layout_data['body'] = $output;

$this->load->view('layout',$layout_data);

}

如果您喜欢答案,请接受并更新它。

谢谢您的评论,但我不想使用load->view,我知道我可以通过这种方式获取$data。但是我想通过$this->_render('pages/our_template',$renderData)来实现它;我和你在一起,我也需要这个答案。我不想使用load->VIEW。请检查更新的答案并让我知道。这符合标准吗。