我有一个控制器,有很多方法,我必须在所有页面加载我的标题。
目前我在所有方法中使用$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 :(得分: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->数据作为数据;将包含$ this-> data ['header']&你可以在你的模板/页面顶部打印出来