我正在尝试创建一个页面,该页面根据用户权限显示某些小部件/包含。我对 CodeIgniter 和 MVC 很陌生。
例子。 我有一个日历。这有一个控制器、模型和视图,它需要包含在其他页面上。我希望将这个日历和许多其他类似的“小部件”显示在一个页面上。此页面当前有一个控制器和视图。
我知道我不应该从另一个控制器加载控制器,但看不到绕过它的方法。您可以从帮助程序加载多个控制器,还是我需要某种形式的模板?
谢谢,
雅克
我正在尝试创建一个页面,该页面根据用户权限显示某些小部件/包含。我对 CodeIgniter 和 MVC 很陌生。
例子。 我有一个日历。这有一个控制器、模型和视图,它需要包含在其他页面上。我希望将这个日历和许多其他类似的“小部件”显示在一个页面上。此页面当前有一个控制器和视图。
我知道我不应该从另一个控制器加载控制器,但看不到绕过它的方法。您可以从帮助程序加载多个控制器,还是我需要某种形式的模板?
谢谢,
雅克
在我看来,您正在寻找CodeIgniter 的模块化扩展。这允许您将应用程序分解为可以相互调用的模块。在您的情况下,您将拥有一个可以从其他模块调用的日历模块。
您可能正在寻找的是一种叫做Layouts的东西。Codeigniter 没有这种开箱即用的功能,但布局基本上是跨多个操作委派(前端控制器)请求。每个动作都独立工作,并分配了自己的视图。
然后,布局将注意将所有这些放在一个输出中。
这种方法还注意不要从另一个控制器调用一个控制器,因此您可以将不属于彼此的代码分开,否则会因为一次执行太多操作而变得混乱。
这个讨论可能对您来说很有趣:Codeigniter 布局?,Codeigniter 常见问题解答也有更多关于它的信息,更具体地说,wiki 中每个页面上的页眉和页脚和菜单。