消息:未定义的变量:content_view

时间:2019-04-06 21:50:31

标签: codeigniter

在控制器中传递的变量在视图中不起作用。

在我的控制器中,我有:

JPanel panel = new JPanel();
panel.setLayout(new GridLayout(5,1));

JButton[] buttons = new JButton[5];
for (int i = 0; i < buttons.length; i++)
{
   buttons[i] = new JButton(i + "");
   panel.add(buttons[i]);
}

在我看来:

swap(int index1, int index2)

我收到以下错误消息: 消息:未定义的变量:content_view

3 个答案:

答案 0 :(得分:0)

那不是您加载视图(在视图内部)的方式!

视图被加载到控制器内部,该控制器也支持加载多个视图。

示例:先加载静态标头和通用模板,然后加载特定内容,然后再加载通用页脚,如下所示:

<?php

class Page extends CI_Controller {

    public function index()
    {
            $data['page_title'] = 'Your title';
            $this->load->view('header');
            $this->load->view('menu');
            $this->load->view('content', $data);
            $this->load->view('footer');
    }

}

这就是MVC架构的工作方式。另外,Codeigniter文档写得很好,请参见:Views - Codeigniter

答案 1 :(得分:0)

我发现了问题。 我第一次使用HMVC模块化扩展,却忘了在template.php控制器中添加变量$ data,如下所示:

 public function login_template($data=Null) 
 {
    $this->load->view("template/login_template", $data);
 }

在我使用之前:

   public function login_template($data=Null) 
   {
      $this->load->view("template/login_template");
   }

所以再次感谢

答案 2 :(得分:0)

尝试一下:

 $data = array();
 $this->template->login_template($login_data);
 $data['content_view'] = 'login/login';
 $this->load->view('header', $data);