0

我必须在我的电子商务网站(CodeIgniter,MVC Paradigm)的几个页面上放置一个购物车。

我真的不想在我的所有控制器中调用这个小部件背后的模型。

我知道一个解决方案可能会调用自动加载器中的模型,但是,有时,我不想显示购物车。

因此,解决方案可能是在相关视图中调用模型。但是,由于它尊重(我认为)MVC 范式,恐怕 CodeIgniter 并不是真的像那样设计的。

保持清晰、简单和可维护的架构的最佳解决方案是什么?

谢谢 !

4

3 回答 3

0

您可以创建自己的控制器并扩展 CI 控制器,然后根据条件加载模型。

这是参考:http ://ellislab.com/codeigniter/user-guide/general/core_classes.html

于 2013-04-30T09:50:08.237 回答
0

通过 ajax 请求调用 cartData 怎么样?

于 2013-04-30T11:35:29.440 回答
0

Hook:您可以尝试创建一个读取/计算购物卡信息的 Hook 并将其设置为 run 'post_controller'。这样,您的钩子将在每个控制器之后运行,将购物车信息设置为会话或 flash var 以从您的视图中访问。

更多信息在这里: http ://ellislab.com/codeigniter/user-guide/general/hooks.html

或者,您可以从您的视图中调用助手,不建议这样做,但它会起作用。

将购物车数据的查询代码放在 a 中cart_helper.php,并从您的视图中调用它,就像调用任何其他函数一样。

请记住,您的助手必须同时加载,因此要么自动加载它,要么在控制器上设置负载 __construct()

于 2013-04-30T16:44:15.250 回答