コントローラ名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);
を使用してヘッダーを呼び出し、それにいくつかの情報を渡しています。しかし、私の場合、この情報はサイト全体で常に同じです。ヘッダーのビューをロードする前に何らかのコントローラを呼び出す方法がありますか?