Php 简单代码点火器边栏实现?怎么用?

Php 简单代码点火器边栏实现?怎么用?,php,codeigniter,templates,sidebar,Php,Codeigniter,Templates,Sidebar,几天前我发布了一条帖子,但它没有按照我想要的方向发展,所以我会再试一次,并交叉手指更好地解释 我有一个控制器列表。。主场、联赛、论坛等等。一旦控制器有了数据,它就会调用名为template的视图,该视图反过来调用默认的页眉、页脚、内容和侧栏视图。(内容变量由控制器设置) 到目前为止,这一切都很好,直到我意识到侧边栏数据需要是动态的,而不是当前的静态。。现在,随着网站的不断扩大,我不想每次都指定侧边栏调用的数据 我更喜欢在控制器中设置一个变量来加载“小部件”,我看到这是在模板视图中完成的,但是我知

几天前我发布了一条帖子,但它没有按照我想要的方向发展,所以我会再试一次,并交叉手指更好地解释

我有一个控制器列表。。主场、联赛、论坛等等。一旦控制器有了数据,它就会调用名为template的视图,该视图反过来调用默认的页眉、页脚、内容和侧栏视图。(内容变量由控制器设置)

到目前为止,这一切都很好,直到我意识到侧边栏数据需要是动态的,而不是当前的静态。。现在,随着网站的不断扩大,我不想每次都指定侧边栏调用的数据

我更喜欢在控制器中设置一个变量来加载“小部件”,我看到这是在模板视图中完成的,但是我知道不能在视图中调用控制器,所以我被卡住了

$sidebar = array(‘latest_news’,‘latest_forum’);
目前我正在用Ajax模拟这种影响……我在控制器中指定了一个变量列表。该模板循环变量,并对每个所需的小部件执行Ajax请求,将它们推入div

一定有更好的办法… 例如:

现在我已经看过HMVC了,我不能对它掉以轻心。对于我有限的需求来说,它似乎有些臃肿。有没有人有一个好的简单的方法来实现这一点

提前谢谢。。
Korhal

最简单的方法是,设置一个变量来执行控制器中的任何操作,然后将其作为变量之一发送到视图

控制器:

 $data['widget'] = $this->show_widget('time'); // widget output
 $this->load->view('sidebar', $data);
侧栏视图:

<div class="sidebar">
  <?php if (isset($widget)) echo $widget; ?>
</div>


arn然后您是否依赖于每个控制器都有一个show\u widget功能?在这种情况下,我将有一个称为widget的独立库,它控制所有不同的widget,然后控制器调用widget库。请参阅创建库。。。