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。请检查更新的答案并让我知道。这符合标准吗。