我必须在我的电子商务网站(CodeIgniter,MVC Paradigm)的几个页面上放置购物车。
我真的不想在所有控制器中调用此小部件后面的模型。
我知道解决方案可能是在自动加载器中调用模型,但有时候,我不想显示购物车。
因此,解决方案可能是在相关视图中调用模型。但是,既然它尊重(我认为)MVC范式,我担心CodeIgniter并不是真的那样设计。
保持清晰,简单和可维护的架构的最佳解决方案是什么?
谢谢!
答案 0 :(得分:0)
您可以创建自己的控制器并扩展CI控制器,然后根据条件加载模型。
以下是参考:http://ellislab.com/codeigniter/user-guide/general/core_classes.html
答案 1 :(得分:0)
如何通过ajax请求调用cartData?
答案 2 :(得分:0)
钩:
您可以尝试创建一个读取/计算购物卡信息并将其设置为运行'post_controller'
的挂钩。
这样你的钩子就会在每个控制器之后运行,在会话中设置购物车信息或者从你的视图中可以访问flash var。
更多信息: http://ellislab.com/codeigniter/user-guide/general/hooks.html
或者您也可以从View中调用助手, 这不推荐,但它会起作用。
将购物车数据的查询代码放在cart_helper.php
中,然后从您的视图中调用它,就像调用任何其他功能一样。
请记住,您的帮助程序必须在当时加载,因此要么自动加载它,要么在控制器上设置负载__construct()