我想将一些数据传递给我的侧边栏,但我不知道如何做到最佳实践,
我有一个这样的模板文件:
<?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;
}
然后我想我需要转到我的header.php文件并在那里做一些事情来获取数据,但我不知道如何。
希望有人可以帮助我最好的问候Sim
答案 0 :(得分:2)
将数据作为数组传递
$data['mykey']='myvalye';
$this->load->view('include/header',$data);
然后只需在视图中echo $mykey
您可以传递多个数据,例如$data['sidebar']='mysidebar';
,如果您还不清楚,请在下方发表评论。
更多http://codeigniter.com/user_guide/general/views.html滚动到“向视图添加动态数据”
编辑 保持帮助与您所述的相同。
将此内容写入控制器
$data['sidebarRow']=sidebar();
$this->load->view('template',$data);
在视图中写下
echo $sidebarRow;
答案 1 :(得分:2)
您可以加载变量,使其在所有观看和子视图中变为全局变量。
如果您要在视图中全局使用任何数据,请使用$ this-&gt; load-&gt; vars($ data_array)。
此方法可以在应用程序的任何位置多次使用,并合并您添加的任何数据。
在http://codeigniter.com/user_guide/libraries/loader.html($ this-&gt; load-&gt; vars)了解详情
答案 2 :(得分:1)
另一个答案是自动加载你的侧边栏助手,然后在你的视图文件中调用它(你的标题?!)
$rows = sidebar();
foreach($rows as $row):
// Do something with your sidebar row
endforeach;