codeigniter边栏问题

时间:2011-09-04 10:22:21

标签: php codeigniter frameworks helper

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

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

<?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

3 个答案:

答案 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;