直接从模型构建视图在Codeigniter中?

时间:2013-05-16 23:54:14

标签: php

我有一个包含类别导航菜单的标题。

这个菜单是由数据库中的数据创建的,我创建了一个模型,这个函数返回该模型中的类别列表:

function categories_list()
  {
    $query=$this->db->get("produits_categories");
    if($query->num_rows()>0)
    {
      $i = 0;
      foreach($query->result() as $rows)
      {
        $items[$i] = $rows->title;
        $i++;
      }
      return $items;

问题是我不知道如何使用控制器将数据传递到标题视图,因为标题视图由其他控制器调用。

例如我有客户端控制器加载标题视图,客户端视图和页脚视图,所以如果我需要传递数据,我必须调用类别控制器并将数据传递到每个使用的页面中的标题视图标题。

是否有其他方法可以直接传递数据?

2 个答案:

答案 0 :(得分:2)

当控制器应用视图时,它可以pass parameters(参见向视图中添加动态数据部分约中途)。这是在某种程度上采取的正确方法。

哲学上,菜单可能完全独立于正在显示的页面。在这种情况下,视图可以接受检索其数据,而不是让控制器每次都这样做。

答案 1 :(得分:0)

关于部分问题,可以将数据直接传递给视图,如下所示:

$data = 'Some Data You Create';
$this->load->view('view_in_question', $data);

这是将数据传递到视图的标准语法,这在codeigniter中通常很容易。以下是用户指南中更详细介绍的部分:

http://ellislab.com/codeigniter/user-guide/general/views.html