在一个页面上组合多个控制器,无需从控制器加载控制器

时间:2011-07-27 15:07:02

标签: php codeigniter controller helper hmvc

我正在尝试创建一个显示某些小部件/页面的页面,这取决于用户权限。我是CodeIgniter和MVC的新手。

示例 我有一个日历。它有一个控制器,模型和视图,它需要包含在其他页面上。 我希望这个日历和一些其他类似的“小工具”显示在一个页面上。此页面目前有一个控制器和视图。

我知道我不应该从另一个控制器加载控制器,但是看不到它绕过它的方法。 你可以从帮助器加载多个控制器,还是需要某种形式的模板?

谢谢,

杰奎

2 个答案:

答案 0 :(得分:2)

听起来像你正在寻找Modular Extensions for CodeIgniter。这允许您将应用程序分解为可以彼此调用的模块。在您的情况下,您将拥有一个可以从其他模块调用的日历模块。

答案 1 :(得分:1)

您可能正在寻找的是布局。 Codeigniter没有开箱即用的功能,但布局基本上是跨多个动作委派(前端控制器)请求。每个动作都可以自己动作并分配自己的视图。

然后布局会把这些放在一个输出中。

这种方法也需要注意,你不要从另一个控制器调用一个控制器,这样你就可以保持代码不相互分离,或者因为它一次性太多而搞砸了。

这个讨论可能对您有意义:Codeigniter layouts?Codeigniter FAQ在wiki中也有更多关于它的内容,更具体地说Header and footer and menu on every page

相关问题