1
我正在使用控制器名稱page.php
。這是我有:如何在CodeIgniter中手動加載另一個控制器?
class Page extends CI_Controller {
public function __construct() {
parent::__construct();
}
public function index() {
show_404();
}
public function view($id) {
$query = $this->db->query("
SELECT * FROM proposals
WHERE id='$id'");
if ($query->num_rows() == 1) {
$row = $query->row();
$data['proposal_id'] = $id;
$data['proposal_title'] = $row->title;
$data['proposal_proposer'] = $row->proposer;
$data['proposal_summary'] = $row->summary;
$data['proposal_description'] = $row->description;
$data['proposal_date'] = $row->date;
$data['proposal_vote'] = $row->vote;
$data['proposal_source'] = $row->source;
$query->free_result();
} else {
show_404();
}
// Get user data
$user_info['logged_in'] = "";
$user_info['username'] = "";
$user_info['user_id'] = "";
$user_info['score'] = "";
// Get special variables needed for the header
$header_data['page_title'] = htmlspecialchars($data['proposal_title']);
$header_data['page_description'] = htmlspecialchars($data['proposal_summary']);
// Get special variables needed for the footer
$footer_data['stats_proposals'] = "12";
$footer_data['stats_users'] = "42";
// Check if this is an edit
// Load the views (interfaces) in order
$this->load->view('templates/header', $header_data);
$this->load->view('page', $data);
$this->load->view('templates/footer', $footer_data);
}
}
如上圖所示,我手動調用使用$this->load->view('templates/header', $header_data);
頭和傳遞一些信息給它。然而,就我而言,這個信息在整個網站上都是一樣的。有沒有辦法在加載視圖頭部之前調用某種控制器?