1

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

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

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;

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

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

没有其他方法可以直接将数据传递给查看吗?

4

2 回答 2

2

当控制器应用视图时,它可以传递参数(请参阅将动态数据添加到视图大约一半的部分)。这是在某种程度上采取的正确方法。

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

于 2013-05-17T00:00:10.027 回答
0

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

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

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

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

于 2013-05-17T00:40:17.500 回答