CI を使用するのは初めてで、質問があります。設計方法の提案のようなものです。静的ページのベース テンプレートを作成したいと考えています。基本的に、doc の種類、head、および body をロードしたいのですが、それ以外は何もロードしません。URL経由で呼び出すクラス/関数によってコンテンツがロードされるようにします。HTML テンプレートと str_replace() を使用してこれを実行できることはわかっていますが、もっと良い方法や、私がよく知らない凝った CI メソッドはありますか?
これが私がこれまでに持っていたもので、動作しますが、最高ではありません。
class Sandbox extends CI_Controller {
public function __construct() {
parent::__construct();
//echo "hello world?";
}
public function load($what){
if ($what == 'something'){
if (!file_exists('application/views/content/'.$what.'.php')){
// Whoops, we don't have a page for that!
show_404();
}
$data = array();
$this->load->view('templates/header', $data);
$this->load->view('content/'.$what, $data);
$this->load->view('templates/footer', $data);
}
else { // Default load
$data = array();
$data['message'] = 'Hello World';
//$this->load->view('templates/header', $data);
$this->load->view('content/sandbox', $data);
//$this->load->view('templates/footer', $data);
}
}
}
ビュー メソッドをロードすると動作するように見えますが、doctype と head をテンプレートに追加する必要がありました。複数のヘッダーを作成する必要がないように、それらを個別にロードすることをお勧めします。私が探しているのは、ページの一部と、その特定のページに必要なスクリプト/css を具体的にロードする方法です。
アドバイスをありがとう。