我想传递一些数据到我的侧边栏,但我不知道如何做到最好的做法,
我有一个像这样的模板文件:
<?php
$this->load->view('include/header');
$this->load->view($main_content);
$this->load->view('include/footer');
?>
我创建了一个像这样的帮助文件:
<?php
//Getting all the Reviews and put them on the includes/header.php
function sidebar()
{
//Get the instance of the framework
$CI=& get_instance();
//Getting data from sidebarModel
$CI->load->model('sidebar_model');
$sidebarData = $CI->sidebar_model->getSidebarReviews();
return $sidebarData;
}
,然后我想我需要去我的头。php文件做一些事情,在那里得到的数据在一个foreach,但我不知道如何。
希望有人能帮我一把
致以最诚挚的问候
将数据作为数组传递
$data['mykey']='myvalye';
$this->load->view('include/header',$data);
然后简单的echo $mykey
在视图
您可以传递多个数据,例如$data['sidebar']='mysidebar';
,如果您仍然不清楚,请在下面评论。
更多信息http://codeigniter.com/user_guide/general/views.html滚动到"向视图添加动态数据"
编辑保持帮助器与问题中描述的相同。
写入controller
$data['sidebarRow']=sidebar();
$this->load->view('template',$data);
写入view
echo $sidebarRow;
你可以加载变量,使它们在你所有的视图和子视图中成为全局的。
使用$this->load->vars($data_array)当你的视图中有全局使用的数据时
此方法可以在应用程序的任何地方多次使用,并将合并您添加的任何数据。
阅读更多在http://codeigniter.com/user_guide/libraries/loader.html ($this->load->vars)
另一个答案是自动加载侧边栏帮助器,然后在视图文件(头文件?!)
$rows = sidebar();
foreach($rows as $row):
// Do something with your sidebar row
endforeach;