基於久了又會忘記,趕快查一查記錄在此。
首先是Controller繼承。
置於application\core 底下
/* ---------------- 開始 ---------------- */
class BASE_Controller extends CI_Controller
{
function __construct() {
parent::__construct();
this->load->helper(array('form','url'));
this->load->library('form_validation');
/* 這是在模組用
obj =& get_instance();
obj->load->helper('url');
*/
}
function show_menu(ml, url="", css_id="nav") {
base_url = this->config->item('base_url');
full_url = this->config->item('full_url');
menu_code = '<ul id="'.css_id.'">';
foreach(ml AS k => v) {
menu_code .= '<li>' . anchor(full_url.url."/".k,"v") . '</li>';
}
menu_code .= '</ul>';
return menu_code;
}
abstract class Pages_Controller extends Base_Controller
{
}
abstract class Admin_Controller extends Base_Controller
{
}
/* ---------------- 結束 ---------------- */
基本上這樣就能夠分別在不同的頁面(一般頁及後台頁)給不同的繼承。
置於控制器部分,我的思維是每個頁面(function)只要做好基本設置,佈署很快
class Admin extends Admin_Controller {
function __construct() {
parent::__construct();
}
//控制器名稱
public name = '管理端 ';
public path = 'index.php/admin';
//管理區選單陣列
public nav = array
(
'index' => '回前台',
'admin' => '首頁',
);
public function index()
{
//載入網站資訊
data['web_info'] = this->web_info();
data['web_info']['page'] = this->name .'首頁';
data['web_info']['theme'] = 'v1';
//載入選單
menu = this->nav;
data['menu'] = this->show_menu(menu,this->path);
data['content'] = '首頁';
this->load->view('admin',data);
}
在view部分則用includes
<?php this->load->view('includes/header'); ?>
內容
<?php this->load->view('includes/footer'); ?>
即可。
