从控制器传递数据以查看Codeigniter

时间:2013-01-08 22:48:44

标签: php codeigniter templates variable-assignment

我正在尝试将数据传递给视图,但它给了我错误: 未定义的变量:数据

控制器:

public function article($page=1)
{           
    $info = array(
        "module_name" => $this->module_name,
        "view_name" => "cms/cms_view", // your view path
        "error_msg" => "",  
        "error_type" => "", 
        "data" => array(
        'content'=>$this->cms_model->get_cms($page),
        'test'=>'Hello world'

        ), //data which will be sent to view
    );
    $this->loadview->view($info);
}

型号:

 public function get_cms($page)
    {
        $query = $this->db->get_where('article', array('art_id' => $page),1);
        return $query->row();
    }

查看:

<?php
        echo $data->content;
        ?>

2 个答案:

答案 0 :(得分:2)

注意最后一行。

控制器:

public function article($page=1) {

    $info = array(
        "module_name" => $this->module_name,
        "view_name" => "cms/cms_view", // your view path
        "error_msg" => "",  
        "error_type" => "", 
        "data" => array(
            'content'=>$this->cms_model->get_cms($page),
            'test'=>'Hello world'

        ), //data which will be sent to view
    );
    $this->load->view('view_name', $info);
}

有关如何加载视图here的更多信息。

答案 1 :(得分:0)

我认为问题可能出在您看来。 $ data变量在控制器中设置为数组,但您将其视为对象。尝试使用

<?php
     echo $data["content"];
?>
而是在视图中查看是否可以纠正您的问题。