2011-09-19 69 views
2

最近我一直在玩Codeingiter,它似乎在做这项工作。但是,我在这里遇到了一些问题。我加载我的视图是这样的,模型中的Codeigniter信息

<?php $this->load->view('default_views/header_view') ?> 
<?php $this->load->view($main_content); ?> 
<?php $this->load->view('default_views/fotter_view') ?> 

这样做可以帮助我保持清洁。但是,在header_view中有一个菜单,其中包含有多少人登录的计数器,以及已登录到我的网站的人数。有没有什么简单的方法可以用这些信息访问模型?或者我是否需要在我的所有视图上发送一个变量来跟踪这个?听起来像我需要重复我的自我1000倍,如果我这样做呢?

有什么建议吗?

回答

3

您可以从几乎任何地方调用get_instance()。

$ci = &get_instance(); 

$ci->load->model('Model'); 

$c = $ci->model->counters(); 

echo $c; 

应该是你在追求什么。

虽然您可以在视图中直接做到这一点,但至少应该创建一个辅助函数来调用模型并在视图中使用它。 (不是最佳实践,但仍然比内联php更好。)您可以做的最好的事情是重新考虑您的模型/控制器设计,并找出如何将这些信息清晰地呈现在视图中。

get_instance();