2011-09-04 52 views
0

我想一些数据传递给我的侧边栏,但我不知道如何做到这一点的最佳实践,笨栏问题

我有一个模板文件是这样的:

<?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文件,并做一些那里得到的数据输出在foreach,但我不知道怎么办。

希望有人能帮助我

问候辛

回答

1

另一个答案将自动加载你的侧边栏助手,然后就打电话,在你的视图文件(你的头?!)

$rows = sidebar(); 
foreach($rows as $row): 
    // Do something with your sidebar row 
endforeach; 
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; 
+0

是这样的? http://pastebin.com/npnRKqf2 echo $ sidebarRow;它说Undefined变量:sidebarRow – Sim

+0

嗯,我不能得到它的工作:( – Sim

+0

首先,'$ this'在Helper中不起作用,那么我已经编辑了答案。 – Usman

2

,使他们成为你的视图和子视图全球您可以加载变量。

每当您有任何数据在视图中全局使用时,请使用$ this-> load-> vars($ data_array)。

此方法可以在应用程序的任何地方多次使用,并将合并您添加的所有数据。

更在http://codeigniter.com/user_guide/libraries/loader.html阅读($这个 - >负载>瓦尔)