2013-03-27 140 views
1

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

我在每个类中有30多种方法,所以对于这种方法,在每种方法中编写这个$data["query1"] = $this->mainmenumodel->getmainmenulist();都有点困难。

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

Controller.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-----------  } 
+0

我很困惑......但是'$ this-> data-> mainmenumodel-> getmainmenulist();'显然不会工作,$ data是一个数组。你可能想要将$数据传递给该方法吗? '这 - $> getmainmenulist($数据);'? – ficuscr 2013-03-27 17:51:48

+0

@ficuscr我更新了我的问题。我想在这个类的所有方法中只通过指定一次来传递'$ this-> data-> mainmenumodel-> getmainmenulist();'。目前我正在每一页中指定它。请大家帮忙...... – 2013-03-27 17:57:41

+0

大多数MVC框架都有一个'视图助手'的概念来促进这一点。我会推迟到熟悉codeignitor的人。看到一些其他相关的好问题:http://stackoverflow.com/questions/4650957/good-logic-of-view-helper-for-codeigniter – ficuscr 2013-03-27 18:01:01

回答

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 ['header']将被包括在内&你可以在你的模板/页面顶部打印出来

相关问题