基於久了又會忘記,趕快查一查記錄在此。
首先是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'); ?>
即可。