1

我有一个控制器,其中有很多方法,我必须在所有页面中加载我的标题。目前我正在使用$data["query1"] = $this->mainmenumodel->getmainmenulist();所有方法来加载我的标题数据。

我在每个类中有 30 多个方法,因此在每个方法中都写这个有点困难$data["query1"] = $this->mainmenumodel->getmainmenulist();

我可以在课堂上做些什么,以便它可用于整个方法。

控制器.php

                       --------------------------------
                       ---------------------------------
    class mainmenusetups extends MY_Controller {
       var $data = array();
       public function __construct() { 
        parent:: __construct();
        $this->load->helper('url'); 
        $this->load->model('mainmenumodel'); 
        $this->load->library('pagination'); 
        parent::MY_Controller(); 

      if ((int) $mainmenu_id > 0) 
       {
        $query = $this->mainmenumodel->get($mainmenu_id); 
          $this->data->mainmenumodel->getmainmenulist();//how to specify it only once to be use for enitere  class
        $this->load->view('admin/setups/mainmenu/index', $data);
       } 

      else if (!($this->input->post('mainmenu_id'))) 

     {
        $data["query"] = $this->mainmenumodel->fetch_mainmenu_data($config["per_page"], $page);
        $data["links"] = $this->pagination->create_links();
         $this->data->mainmenumodel->getmainmenulist();//how to specify it only once to be use for enitere  class
        $this->load->view('admin/setups/mainmenu/index', $data);
       }
     //--------like this ,i have many  methods and condition in every page-----------       }
4

1 回答 1

0

我觉得你有点糊涂了。

从 MY_Controller 继承所有控制器。在 MY_Controller 上,将您的标题设置为“全局”变量,例如:

$this->data['header'] = $this->set_header();

function set_header()
{
    //all my good logic, including:
    return $this->load->view('my_header', '', true);  // true will pass to a variable
}

现在,在你所有继承的控制器上,每当你加载一个视图时,总是使用 $this->data 作为你的数据;$this->data['header'] 将被包括在内,您可以在模板/页面的顶部打印出来

于 2013-03-28T08:54:23.343 回答