我有一个home控制器,该控制器的index操作可以显示一组特色产品。但是,产品是通过product包含专有模型和视图的控制器进行管理的。
home
index
product
如何product从控制器中的index操作中访问信息home?实例化product无法运行,因为该类未在运行时加载,并且CodeIgniter也未提供动态加载控制器的方法。将product类放入库文件中实际上也不起作用。
确切地说,我需要product在索引视图中插入产品视图(填充有控制器处理的数据)。我正在运行CodeIgniter 2.0.2。
如果您有兴趣,可以在其中找到一个完善的程序包,可以将其添加到Codeigniter项目中,以处理此问题:
https://bitbucket.org/wiredesignz/codeigniter-modular-extensions- hmvc/
模块化扩展 使CodeIgniter PHP框架模块化。模块是布置在应用程序模块子目录中的独立组件组,通常是模型,控制器和视图,可以放到其他CodeIgniter应用程序中。
好的,所以最大的变化是现在您将使用模块化结构-但对我来说这是理想的。我已经使用CI大约3年了,如果没有Modular Extensions,我将无法想象。
现在,这是处理直接调用控制器以渲染视图局部的部分:
// Using a Module as a view partial from within a view is as easy as writing: <?php echo modules::run('module/controller/method', $param1, $params2); ?>
这里的所有都是它的。我通常用它来加载小“部件”,例如:
通常,我为每个模块构建一个“窗口小部件”控制器,并将其仅用于此目的。
当我开始使用Codeigniter时,您的问题也是我的第一个问题。我希望这可以帮助您,即使它可能比您想要的要多。从那时起,我一直在使用MX,并且没有回头。
确保阅读文档,并在Codeigniter论坛上查看有关此软件包的大量信息。请享用!