我的主人布局如下,工作正常。我只是想通过这个主布局传递一个默认变量,我可以在每个页面中获得更多。
class MY_Controller extends CI_Controller {
public $layout;
function __construct() {
parent::__construct();
$this->layout='layout/master';
}
}
我需要传递如下变量:
function __construct() {
parent::__construct();
$data['msg'] = $this->session->flashdata('usermsg');
$this->layout=('layout/master',$data);
}
我如何得到这个。
答案 0 :(得分:0)
如果您在$this->layout
的帮助下从控制器动态加载数据,您可以发送这样的数据。
方法1:
如果您使用常规方法将数据加载到视图,则可以使用此方法。
$this->load->view('profile_view', $data);
这将在$data
array()
方法2:
如果您已经创建了一个主布局,并且您正在将数据从控制器传递到主布局,则需要执行此操作。
<?php
public function master_layout () {
$this->template['header'] = $this->load->view('include/header', $this->Front_End_data, true);
$this->template['navigation'] = $this->load->view('include/navigation', $this->Front_End_data, true);
$this->template['center'] = $this->load->view($this->middle, $this->Front_End_data, true);
$this->template['footer'] = $this->load->view('include/footer', $this->Front_End_data, true);
$this->load->view('include/index', $this->template);
?>
在此代码中,将根据您在主布局中调用的页面动态加载以下行。
$this->template['center'] = $this->load->view($this->middle, $this->Front_End_data, true);
为了将数据传递给此center
布局,您可以使用这样的功能。
$data['msg'] = 'Success';
$this->template['center'] = $this->load->view ($this->middle = 'pages/view_oage',$data, true);
$this->master_layout();
在页面中,您可以使用foreach循环获取要打印的数据,如下所示。
foreach($msg as $value)
{
echo $value;
}