为什么不加载视图当我调用一个函数?codeigniter


why not load view when i call a function? codeigniter

我在codeigniter有一个问题。我从视图中调用控制器Articles中的一个函数。

<li><a href="index.php/articles/Category/1" ><?php echo $item['CATEGORY'] ?></a></li>

函数

   function getCategories() {
    $this->db->select('ID_CAT,CATEGORY');
    $this->db->from('CATEGORY');
    $query = $this->db->get();
    if ($query->num_rows() > 0) {
        return $query->result_array();
    } else {
        return FALSE;
    }
    }
 function Category($id_cat) {
    if (!$id_cat) {
        $id_cat = 0;
    }
    $this->load->model('graf/home_model');
    $data = array();
    $data['categories'] = $this->home_model->getCategories();
    $filtro_cat = $id_cat;
    $data['article'] = $this->home_model->getArticles($filtro_cat);
    $this->load->view('graf/articles', $data, TRUE);
   }

home_model

function getArticles($filtro_cat) {
    $this->db->select('*');
    $this->db->from('ARTICLES');
    if ($filtro_cat != 0) {
        $this->db->where("ID_CAT=".$filtro_cat);
    }
    $query = $this->db->get();
    if ($query->num_rows() > 0) {
        return $query->result_array();
    } else {
        return FALSE;
    }
}

当我选择按钮的url更改为http://localhost/Graf/index.php/articles/Category/1,但不加载http://localhost/Graf/index.php/articles/

为什么?

当您将load->view()的第三个参数设置为true时,它返回字符串值而不输出任何内容

尝试改变:

$this->load->view('graf/articles', $data, TRUE);

$this->load->view('graf/articles', $data);

在config文件夹中设置routes.php,添加以下代码;

$route['articles/Category/(.*)'] = 'articles/$1';

并更改链接

<li><a href="<?php echo site_url('index.php/articles/'.$item['ID_CAT']); ?>" ><?php echo $item['CATEGORY'] ?></a></li>

并将控制器更改为

$this->load->view('graf/articles', $data);