简单的代码点火器侧边栏实现?怎么样?

时间:2011-06-10 14:23:10

标签: php codeigniter templates sidebar

几天前我发布了一个帖子,但它没有采取我想要的方向,所以我会再次尝试并且手指交叉解释一下。

我有一个控制器列表..家庭,联盟,论坛等等。一旦控制器拥有其数据,它就会调用一个名为template的视图,该视图又会调用默认的页眉,页脚,内容和侧边栏视图。 (内容变量由控制器设置)。

到目前为止一切顺利,直到我意识到侧边栏数据需要动态而不是当前的静态状态才有效。现在随着网站变大,我宁愿不必指定被调用的数据每次侧边栏。

我更愿意在控制器中设置一个可能加载“小部件”的变量,我看到这是在模板视图中完成的,但我知道控制器无法在视图中调用,所以我卡住了。

$sidebar = array(‘latest_news’,‘latest_forum’);

目前我正在使用Ajax模拟这种影响......我在控制器中指定了一个变量列表。模板循环变量并为每个必需的小部件执行Ajax请求,将它们推送到div ..

一定有更好的方法...... 示例:http://dev.banelingnest.com/

现在我已经看过HMVC,我无法绕过它。对于我有限的要求,这似乎很臃肿。有没有人有一个很好而简单的方法来实现这个目标?

提前致谢.. Korhal

1 个答案:

答案 0 :(得分:1)

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

控制器:

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

补充工具栏视图:

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